Форматирование TimeField

Я перезаписываю форму администратора моей модели, чтобы изменить формат отображаемого времени TimeField поле:

class myTimeForm(forms.ModelForm):
    start_time = forms.TimeField(widget=forms.TimeInput(format='%H:%M'))
    class Meta:
        model = MyModel

class MyModelAdmin(admin.ModelAdmin):
    form = myTimeForm

Теперь now и кнопка часов с формой по умолчанию исчезла (на скриншоте ниже Start time с переопределенным виджетом, End time со значением по умолчанию.

Что я упустил?

1 ответ

Решение

Администратор Django использует AdminTimeWidget вместо forms.TimeInput, Попробуйте изменить свой код следующим образом:

from django.contrib.admin.widgets import AdminTimeWidget

class myTimeForm(forms.ModelForm):
    start_time = forms.TimeField(widget=AdminTimeWidget(format='%H:%M'))
    class Meta:
        model = MyModel
Другие вопросы по тегам