Изменить / адаптировать виджет даты в интерфейсе администратора
Вопрос
Я настраиваю сайт администратора для моего нового приложения и обнаружил небольшую проблему с моей настройкой.
У меня есть поле 'дата рождения' в моей базе данных, редактируемое через сайт администратора, но виджет даты не очень удобен для этого, потому что он делает это, если мне нужно ввести, например, 01-04-1956 в виджет, я должен был бы пролистать много лет. Кроме того, я не хочу, чтобы люди писали полную дату вручную только в одном окне редактирования, поскольку всегда есть проблемы с использованием тире или косой черты в качестве разделителя или введением даты в европейском, американском или азиатском формате ...
Что бы сделал МакГайвер (я имею в виду тебя)?
Решение
Используйте formfield_overrides
class MyModelAdmin(admin.ModelAdmin):
formfield_overrides = {
models.DateField: {'widget': forms.TextInput},
}
Затем вам нужно будет самостоятельно выполнить преобразование / проверку даты.