Django Admin делает поле редактируемым для определенной группы пользователей

Допустим, в моем приложении есть две группы пользователей (user, admin). Обе могут видеть поля экземпляра модели admin. У меня есть поле с именем "approved", которое является булевым полем. Администратор должен иметь возможность редактировать это поле, но для пользователя оно должно быть доступно только для чтения. Я пытался использовать метод get_readonly_fields из django, но он, похоже, не работает в сочетании с атрибутами list_display и list_editable.

Мой подход выглядит следующим образом:

@admin.register(Component)
class ComponentAdmin(admin.ModelAdmin):
    exclude = ("created_by",)
    list_display = (
        "id",
        "approved"

    )
    list_editable = ("approved")

    def get_readonly_fields(self, request, obj=None):
        if is_admin_or_mod(request):
            return []
        return ["approved"]
Вернуться на верх