С Django Rest Framework, когда мне нужно поднимать ParseError
против serializers.ValidationError
при проверке данных формы в сериализаторе?
Мой код выглядит примерно так:
class UserSerializer(serializers.ModelSerializer):
def create(self, validated_data):
if 'username' not in validated_data:
raise ParseError({'username': ['A username is required.']})
if 'password' not in validated_data:
raise ParseError({'password': ['A password is required.']})
if 'email' not in validated_data or len(validated_data['email']) == 0:
raise ParseError({'email': ['An email is required.']})
if UserModel.objects.filter(email=validated_data['email']):
raise ParseError({'email': ['A user with that email already exists.']})
# ...
Что из этого, если оно есть, должно быть serializers.ValidationError
вместо этого? И какое правило я должен следовать в будущем, чтобы определить, какой использовать?