Как контролировать удаление в django_admin
Я хотел бы контролировать, когда можно удалить элементы в админке Django. во-первых, я попытался переопределить метод удаления моделей, чтобы вызвать ошибку целостности. это работает, но это исключение не отлавливается администратором и не показывает приятное сообщение. на самом деле, если вы работаете в производственном режиме, все, что он говорит, это "возникла проблема".
во-вторых, я положил форму и чистый метод. это тоже не работает. метод clean запускается всякий раз, когда вы изменяете элемент. не только когда удаляешь.
так как же иметь возможность контролировать удаление элемента в django admin (и иметь хорошее сообщение о том, почему вы не можете его удалить)?
1 ответ
Нет необходимости, чтобы показать сообщение, кнопки удаления не будут отображаться, пока вы используете это:
class MyAdmin(ModelAdmin):
...
def has_delete_permission(self, request, obj=None):
return False