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, мы можем увидеть на странице администратора:enter image description here

Но если у пользователя есть только право просмотра модели Foo, он не сможет ничего увидеть в этом дополнительном поле: enter image description here

В моем случае я хотел бы видеть в Extra field значение: extra_field. Может ли кто-нибудь помочь мне, пожалуйста?

Если пользователь имеет право только на просмотр, то он может просматривать только добавленные объекты в базу данных. Если вы сохраните объект foo с начальным значением extra_field "extra_field", то пользователь сможет просмотреть это значение из change-form по ссылке из change-list объекта Foo как это.

Вернуться на верх