@matveyvarg

Как добавить свое поле в ошибки Django Rest Framework?

Нужно чтобы если посл валидации остались ошибки, то добавилось поле "status=error"
Какой метод нужно перезаписать для этого ?
Использую generic Views. (если эта информация нужна)
В конечном счете должно получится что то такое:
{   
    "status:"error",
    "data":[
        "source": [
            "This field may not be blank."
        ],
        "description": [
            "This field may not be blank."
        ]
    ]
}
  • Вопрос задан
  • 180 просмотров
Решения вопроса 1
@marazmiki
Укротитель питонов
Сделать это можно, переопределив свойство errors у класса сериализатора:
# serializers.py

class MySerializer(serializers.ModelSerializer):
    # ...

    @property
    def errors(self):
        origin = super().errors
        origin['status'] = 'error'
        return origin


Правильный ответ: не нужно этого хотеть вообще. HTTP-код 400 говорит об ошибке гораздо красноречивее
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы