Возвращение меток при ошибках валидации в фреймворке Django rest
Когда в запросе есть ошибки валидации, DRF возвращает объект dict, содержащий все ошибки, примерно так:
{
"first_name": [
"This field may not be blank."
],
"last_name": [
"This field may not be blank."
],
"email": [
"This field may not be blank."
]
}
Есть ли возможность изменить это поведение и сделать так, чтобы автоматически возвращались имена полей в каждой ошибке? Что-то вроде этого:
{
"first_name": [
"First name field may not be blank." # <<< The label of field: first_name
],
"last_name": [
"Last name field may not be blank."
],
"email": [
"Email field may not be blank."
]
}
или даже список:
[
"First name field may not be blank.", # <<< The label of field: first_name
"Last name field may not be blank.",
"Email field may not be blank.",
]
Обратите внимание, что у меня более 80 конечных точек и сериализаторов; я не могу переопределить все поля, которые автоматически генерируются ModelSerializers
, чтобы добавить error_messages
параметр.
first_name = serializers.CharField(
write_only=True,
min_length=5,
error_messages={
"blank": "First name field cannot be empty.",
"min_length": "First name field is too short.",
},
)