Как обработать пользовательское сообщение об ошибке для метода save_model панели Django Admin?

Я переписал метод save_model для ModelAdmin. Допустим, как показано ниже:

 def save_model(
        self,
        request,
        obj,
        form,
        change,
    ):
        if not change:
            try:
                if True:
                    raise exceptions.ValidationError(
                        _(f"Oh no, record can't be created for serious reason!")
                    )
            except exceptions.ValidationError as err:
                messages.set_level(request, messages.ERROR)
                self.message_user(request, err.message, level=messages.ERROR)
                return

            super().save_model(request, obj, form, change)

Я не могу использовать Form, поскольку мне нужен доступ к базе данных для проверки бизнес-логики.

Это почти сработало, тем не менее, я получаю перенаправление на главный экран панели администратора, что мне не очень нравится. Более того, появляется ДОПОЛНИТЕЛЬНОЕ сообщение о том, что object не существует (конечно, не существует, поскольку он не был создан).

Я буду благодарен за любые советы, как остаться на текущем экране и отобразить только пользовательское сообщение или хотя бы перенаправить на главный экран панели администратора, но без отображения дополнительного сообщения (только моего пользовательского).

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