Как разместить поле read_only для новой записи в классе TabularInline в Django
Я хочу иметь поле readonly, когда запись уже сохранена, но если администратор добавляет новую запись, поле должно быть редактируемым.
Красные стрелки - только чтение; Синяя стрелка - отредактировано.
Как я могу этого достичь?
Для этого можно использовать метод ModelAdmin get_readonly_fields. Когда объект создается, obj устанавливается в None. Переопределив метод, вы можете изменять поля только для чтения, независимо от того, присутствует obj или нет.
def get_readonly_fields(self, obj):
if obj:
return ['field_1', 'field_2']
else: # When object is created
return [] # no editable field
Ссылки:
