Невозможно поднять ValidationError в сериализаторе обновлений django
Я пытаюсь поднять ValidationError в сериализаторе обновлений, но не смог. Вот мой код:
from rest_framework.exceptions import ValidationError
class PersonUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = Person
fields = (
"name",
"surname",
)
def validate(self, attrs):
# type: (dict) -> dict
errors = {}
attrs = super(PersonUpdateSerializer, self).validate(
attrs
)
if "surname" not in attrs:
errors["surname"] = "This field is required."
if errors:
raise ValidationError(errors)
return attrs
def update(self, instance, validated_data):
for key in validated_data:
setattr(instance, key, validated_data.get(key))
instance.clean()
instance.save()
return instance
Когда я не отправляю параметр "surname"
, он должен поднимать ValidationError
, но этого не происходит. Что я упускаю?