Django Admin: Дополнительное поле, добавленное в форму модели, не может быть отображено для разрешения просмотра
У меня проблема с отображением дополнительного поля (добавленного из форм) для модели. Когда пользователь имеет все права на модель Foo, он может видеть начальное значение дополнительного поля на странице администратора. Но когда пользователь имеет только право просмотра на модели Foo, он не может видеть значения дополнительного поля.
@admin.register(models.Foo)
class FooAdmin(ModelAdmin):
fieldsets = (('Foo', {'fields': ('extra_field'}))
form = forms.FooForm
А в формах:
class FooForm(forms.ModelForm):
extra_field = forms.CharField()
class Meta:
model = models.Foo
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['extra_field'].initial = 'extra_field'
Если пользователь имеет все права на модель Foo, мы можем увидеть на странице администратора:
Но если у пользователя есть только право просмотра модели Foo, он не сможет ничего увидеть в этом дополнительном поле:
В моем случае я хотел бы видеть в Extra field
значение: extra_field
.
Может ли кто-нибудь помочь мне, пожалуйста?
Если пользователь имеет право только на просмотр, то он может просматривать только добавленные объекты в базу данных. Если вы сохраните объект foo с начальным значением extra_field "extra_field", то пользователь сможет просмотреть это значение из change-form по ссылке из change-list объекта Foo как это.