Сценарий довольно прямолинейный:
У меня есть модель с некоторыми полями, которые требуются. Скажем, один из них - TextField
, который не может быть blank
.
У меня также есть ModelSerializer
(Django Rest Framework), который представляет эту модель.
Когда пустая строка используется для установки этого поля через сериализатор, возвращаемая ошибка исходит от самой модели (This field can't be blank
).
Я хотел бы переопределить сообщения об ошибках только на уровне сериализатора без необходимости явно переопределять каждое поле в сериализаторе (что, по моему мнению, противоречит принципу DRY), нужно написать метод validate_
для каждое поле и поднять мой собственный ValidationError
или изменить сообщения об ошибках на уровне Model
(потому что иногда контекст сообщения об ошибке имеет значение для моего прецедента, и сообщение об ошибке должно быть указано соответственно).
Другими словами, существует ли способ переопределить сообщения об ошибках на уровне сериализатора так же просто, как и для ModelForm
:
class MyModelForm(ModelForm):
class Meta:
model = MyModel
error_messages = {"field1": {"required": _("For some reason this is a custom error message overriding the model default")}}