例如,我有一个Django模型,如
class User(models.Model):
email = models.EmailField(required=True, unique=True)
不是redundant并违反DRY原则再次在ModelSerializer中进行如下验证吗?
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = '__all__'
def validate_email(self, email):
try:
User.objects.get(email=email)
raise serializers.ValidationError("Email address already used")
except User.DoesNotExist:
return email
validate_email方法有点违背DRY PRINCIPLE和在这种情况下是错误的,因为我们必须访问Database才能在此方法中进行验证。请纠正我。
您不必在序列化器中再次验证数据