У меня есть поле модели с вариантами выбора, как определено здесь:
class Pack(models.Model):
SIZE_10x20 = Decimal(200.000)
SIZE_10x10 = Decimal(100.000)
SIZE_5x10 = Decimal(50.000)
size_code_choices = (
(SIZE_5x10, '5x10'),
(SIZE_10x10, '10x10'),
(SIZE_10x20, '10x20'),
)
size_code = models.DecimalField(max_digits=7,
decimal_places=3,
choices=size_code_choices,
default=SIZE_10x20)
Мой admin.py использует формы по умолчанию:
class PackAdmin(admin.ModelAdmin):
list_display = ('size_code')
fields = ('size_code')
admin.site.register(Pack, PackAdmin)
Однако, когда я открываю своего администраторана панели и проверьте форму изменения экземпляра модели, в раскрывающемся меню не задан выбор, сохраненный в базе данных.Я приложил два изображения, чтобы продемонстрировать, что я имею в виду:
Отображение списка для всех экземпляров модели
Изменить форму модели
Он просто выбирает тот, что вверху списка.Я бы хотел, чтобы пользователи могли вносить небольшие изменения в модель, не проверяя и не сбрасывая это поле каждый раз, когда эта форма используется.
Я изучил переопределение ModelAdmin.get_changeform_initial_data (request), но небезрезультатно.
У меня есть аналогичный выбор для модели CharField, и у меня нет с этим проблемы.Что-то происходит с DecimalField, о котором я не знаю?