如何让wagtail的TimeInput接受秒数?
How to let wagtail's TimeInput to accept seconds?
我在我的模型中使用 TimeField
,但我无法在 wagtail 的 wagtail.contrib.modeladmin.options.ModelAdmin
中填充秒数。
我当前的 ModelAdmin
代码是:
@modeladmin_register
class ScheduleAdmin(ModelAdmin):
model = ScheduleCell
menu_label = _("Schedule")
menu_icon = 'date'
menu_order = 200
add_to_settings_menu = False
exclude_from_explorer = False
list_display = ('start_time', 'end_time', 'page', 'output_devices')
search_fields = ('page__title', )
当前结果是
当我尝试手动将秒数写入输入时 - wagtail 不允许。
如何解决?
日期选择器小部件不支持添加秒数,因此您需要覆盖它以改用基本文本输入小部件。您可以通过向您的模型添加一个 panels
定义(在下一个 Wagtail 版本 Wagtail 2.5 中,也可以在 ModelAdmin class 上定义它),并在那里指定小部件来做到这一点:
from django import forms
from wagtail.admin.edit_handlers import FieldPanel
class ScheduleCell(models.Model):
# ... field definitions here ...
panels = [
# ...
FieldPanel('start_time', widget=forms.TextInput),
FieldPanel('end_time', widget=forms.TextInput),
# ...
]
我在我的模型中使用 TimeField
,但我无法在 wagtail 的 wagtail.contrib.modeladmin.options.ModelAdmin
中填充秒数。
我当前的 ModelAdmin
代码是:
@modeladmin_register
class ScheduleAdmin(ModelAdmin):
model = ScheduleCell
menu_label = _("Schedule")
menu_icon = 'date'
menu_order = 200
add_to_settings_menu = False
exclude_from_explorer = False
list_display = ('start_time', 'end_time', 'page', 'output_devices')
search_fields = ('page__title', )
当前结果是
当我尝试手动将秒数写入输入时 - wagtail 不允许。
如何解决?
日期选择器小部件不支持添加秒数,因此您需要覆盖它以改用基本文本输入小部件。您可以通过向您的模型添加一个 panels
定义(在下一个 Wagtail 版本 Wagtail 2.5 中,也可以在 ModelAdmin class 上定义它),并在那里指定小部件来做到这一点:
from django import forms
from wagtail.admin.edit_handlers import FieldPanel
class ScheduleCell(models.Model):
# ... field definitions here ...
panels = [
# ...
FieldPanel('start_time', widget=forms.TextInput),
FieldPanel('end_time', widget=forms.TextInput),
# ...
]