Как подкрутить админку?

Имею некий отчет логов действий пользователя. И мне по сути не нужна возможность добавить новый лог через админку и редактировать существующие. Как это реализовать? То-есть убрать возможность добавление и обновление для модели через админку?
  • Вопрос задан
  • 252 просмотра
Решения вопроса 1
А просматривать-то эти модели можно?

class MyAdmin(admin.ModelAdmin):
    fields = ['name', 'slug', 'date']
    readonly_fields = ['date']

    def has_add_permission(self):
        # Убрать право добавлять новые элементы
        return False

     def get_readonly_fields(self, request, obj=None):
          if obj and obj.pk:
               return self.fields
          else:
               return self.readonly_fields


Если объект сохранён, то все поля, заданные в fields, будут объявлены только для чтения. В обратном случае - только те, что заданы в readonly_fields. Не сработает, если у вас определены не fields, а fieldsets - тогда задайте поля вручную или рассмотрите объект obj._meta.fields (если не ошибаюсь).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы