Удаление сообщения об успехе после отказа в удалении [duplicate]

Учитывая тот факт, что этой теме уже несколько лет, а идеального ответа так и не было: Как мне переписать функции delete_model/queryset в админке, чтобы сообщение об успехе не показывалось, если в удалении было отказано?

class BookAdmin(admin.ModelAdmin):
    def delete_queryset(self, request, queryset):
        if not can_delete():
            messages.error(request, "cannot delete ...")
            return
        super().delete_queryset(request, queryset)

Логика работает, но я получаю сообщение об успехе и ошибке, что сбивает пользователя с толку. Я знаю, что могу пойти длинным путем и реализовать всю пользовательскую логику, но тогда я столкнусь с проблемой отсутствия страницы "Вы уверены..."? У меня та же проблема, которую я показываю здесь для delete_queryset() также с delete_model().

Вернуться на верх