Django Admin- отключение редактирования и удаление кнопок "Сохранить" для определенной модели

У меня есть Django Model, которую я хочу сделать только доступной для чтения. Добавление и редактирование запрещено.

Я пометил все поля readonly и переопределил has_add_permission в ModelAdmin как:

class SomeModelAdmin(admin.ModelAdmin):
     def has_add_permission(self, request):
        return False

Есть ли аналогичный has_edit_permission? Которое можно отключить, чтобы убрать кнопки "Сохранить" и "Сохранить и продолжить"? И заменить простой кнопкой "Закрыть и вернуться".

Django Documentation Упоминается только о полях только для чтения, но не о переопределении прав на редактирование.

18
задан Cœur 23 April 2017 в 16:04
поделиться

2 ответа

Это было возможно некоторое время. Имена has_add_permission, has_change_permission и has_delete_permission. Посмотрите django администраторская документация для ссылки. Вот также пример:

@admin.register(Object)
class Admin(admin.ModelAdmin):

    def has_add_permission(self, request):
        return False

    def has_change_permission(self, request, obj=None):
        return False

    def has_delete_permission(self, request, obj=None):
        return False
0
ответ дан 30 November 2019 в 06:06
поделиться

Самый легкий метод отключил бы соответствующие полномочия в классе ModelAdmin. Например, у меня есть модель Cart, которую я хочу, чтобы администратор только просмотрел (список и детали) и все, что я сделал должен был добавить, что следующие функции к классу CartAdmin для отключения удаляют, изменяются и добавляют

class CartAdmin(admin.ModelAdmin):
    list_display = ['listing']

    def has_add_permission(self, request, obj=None):
        return False

    def has_change_permission(self, request, obj=None):
        return False

    def has_delete_permission(self, request, obj=None):
        return False

, Эти три метода has_add_permission, has_change_permission и has_delete_permission являются теми, которые отключают, добавляет кнопка, добавляет форму, редактирует форму и удаляет кнопки в администраторе

, Вот демонстрационный вывод, когда просмотр записи детализирует в администраторе, который имеет вышеупомянутые полномочия, отключенные

enter image description here

, Поскольку Вы видите схему выше, у Вас только есть близкая кнопка, и детали не отображены в форме

1
ответ дан 30 November 2019 в 06:06
поделиться
Другие вопросы по тегам:

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