Я записал пользовательские администраторские действия, которые в основном делают QuerySet.update()
для определенных полей в модели. Существуют времена, когда этим действиям нельзя позволить завершиться - вместо этого, они должны отобразить ошибку и не сделать что-либо. Я попробовал message_user
, но это отображает зеленую галочку, тогда как я хотел бы, чтобы она отобразила администраторское сообщение об ошибке Django.
Решение, которое я нашел онлайн, состоит в том, чтобы использовать a ModelForm
, но я не думаю, что это применяется в этом случае, поскольку здесь все происходит на администраторской странице списка изменения.
Функция message_user
, используемая администратором, просто использует пакет contrib.messages
. Вы можете попробовать что-то вроде этого:
from django.contrib import messages
# Then, when you need to error the user:
messages.error(request, "The message")
Вы также можете использовать предупреждение
, отладка
, информация
и успех
вместо ] ошибка
Надеюсь, что это поможет!