我即将添加DurationField
的管理网站的小部件,并希望持续时间字段的输入部件。
问题陈述
在下面的PromoCode
类中有DurationField
即duration
。但在admin中,它显示TextInput
作为输入。
class PromoCode(models.Model):
"""
Promo Code model to maintain offers
"""
code = models.CharField(_("Code"), max_length=60, help_text="Promo code")
# Validations and constraints for promo code
start_date = models.DateField(_("Start date"), null=True, blank=True, help_text="Start date of promo code offer")
end_date = models.DateField(_("End date"), null=True, blank=True, help_text="End date of promo code offer")
duration = models.DurationField(_("Duration"), null=True, blank=True, help_text="Validity period of promo code")
...
...
admin.py
class PromoCodeAdmin(admin.ModelAdmin):
"""
Model admin for promocodes
"""
list_display = ('code', 'description', 'start_date', 'end_date',)
fields = (
'code', 'description', 'discount', 'start_date', 'end_date', 'duration', 'sitewide_countdown', 'user_countdown',
'coin_currencies', 'fiat_currencies',)
- 下图仅供参考,
duration
字段不是人类可读的格式。*
预期行为
将DurationField
的小部件添加到管理表单中以使其易于阅读和编辑的最佳方法是什么?目前,管理员很难添加持续时间。
2条答案
按热度按时间p8h8hvxi1#
这似乎是你所需要的:http://www.columbia.edu/~njn2118/journal/2015/10/30.html
我只想补充一点,你需要在你的管理类中设置一个自定义表单。
例如:
goqiplq22#
您可以在管理中使用
@pre_save
,并将持续时间转换为您想要的可读格式。