У меня следующая проблема. У меня есть проверка на уровне модели, которая проверяет согласованность данных при каждом сохранении. В сериализаторах, если эта проверка уровня модели работает, она производит server error 500
с обратной трассировкой, тогда как serializer.Validationerror
в сериализаторе создает красивую и чистую 400 error
с сообщением об ошибке в json.
Для того, чтобы преобразовать уровень модели Validationerror
в serializers. Validationerror
Я использую следующий код в своих сериализаторах.
def perform_create(self, validated_data):
try:
return super().perform_create(validated_data)
except exceptions.ValidationError as err:
raise serializers.ValidationError(
f'Model level validation assertion -- {str(err)}'
) from err
Он работает, но я не могу и не хочу переопределять каждый сериализатор для преобразования Validationerror
to serializers. Validationerror
.
Вопрос в том, есть ли способ поймать все Validationerror и преобразовать их в сериализаторы. Ошибки валидации?