Как обработать пользовательское сообщение об ошибке для метода 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
не существует (конечно, не существует, поскольку он не был создан).
Я буду благодарен за любые советы, как остаться на текущем экране и отобразить только пользовательское сообщение или хотя бы перенаправить на главный экран панели администратора, но без отображения дополнительного сообщения (только моего пользовательского).