如何让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),
        # ...
    ]