Удалить действие удаления по умолчанию в администраторе Django Как удалить действие удаления по умолчанию в администраторе Django? Будет ли следующая работа? actions = [ ] Ответ 1 Это работает: def get_actions(self, request): actions = super().get_actions(request) if 'delete_selected' in actions: del actions['delete_selected'] return actions Это также рекомендуемый способ сделать это на основе документации Django ниже: Условное включение или отключение действий Ответ 2 В вашем классе администратора определите has_delete_permission для возврата False: class YourModelAdmin(admin.ModelAdmin): ... def has_delete_permission(self, request, obj=None): return False Затем он не будет показывать кнопку удаления и не позволит вам удалять объекты в интерфейсе администратора. Ответ 3 Если вы хотите удалить все действия: class UserAdmin(admin.ModelAdmin): model = User actions = None Если вам требуется определенное действие: class UserAdmin(admin.ModelAdmin): model = User actions = ['name_of_action_you_want_to_keep'] Ответ 4 Вы можете отключить действие "удалить выбранное" на сайте: from django.contrib.admin import site site.disable_action('delete_selected') Когда вам нужно включить это действие, добавьте 'delete_selected' в список действий: actions = ['delete_selected'] Документация
Ответ 1 Это работает: def get_actions(self, request): actions = super().get_actions(request) if 'delete_selected' in actions: del actions['delete_selected'] return actions Это также рекомендуемый способ сделать это на основе документации Django ниже: Условное включение или отключение действий
Ответ 2 В вашем классе администратора определите has_delete_permission для возврата False: class YourModelAdmin(admin.ModelAdmin): ... def has_delete_permission(self, request, obj=None): return False Затем он не будет показывать кнопку удаления и не позволит вам удалять объекты в интерфейсе администратора.
Ответ 3 Если вы хотите удалить все действия: class UserAdmin(admin.ModelAdmin): model = User actions = None Если вам требуется определенное действие: class UserAdmin(admin.ModelAdmin): model = User actions = ['name_of_action_you_want_to_keep']
Ответ 4 Вы можете отключить действие "удалить выбранное" на сайте: from django.contrib.admin import site site.disable_action('delete_selected') Когда вам нужно включить это действие, добавьте 'delete_selected' в список действий: actions = ['delete_selected'] Документация