class MyAdmin(ModelAdmin):
def get_actions(self, request):
actions = super(MyAdmin, self).get_actions(request)
if 'delete_selected' in actions:
del actions['delete_selected']
return actions
def has_delete_permission(self, request, obj=None):
return False
Если разрешение на удаление не предоставлено, кнопка «Удалить» одного объекта исчезнет. Список действий "действие" (выберите список для применения к объектам с установленным флажком) будет по-прежнему отображаться, поскольку у вас может быть разрешение на удаление некоторых объектов. Вы можете удалить оба кода выше.
УТОЧНЕНИЕ (для downvoters): администратор проверяет, есть ли у текущего пользователя разрешение на удаление, а затем показывает / скрывает кнопку / кнопки соответственно. Вы написали «мои приложения не позволяют удалять», поэтому я предположил, что вы забрали разрешения. Суперпользователь не просматривается в разрешениях, суперпользователь всегда возвращает «да, у меня есть такое разрешение». Если вы хотите, чтобы кнопки исчезли для суперпользователей, вы должны использовать мой код выше. Для других пользователей просто отнимите разрешение согласно ответу Secator.