Validators可以在不同的字段验证时重复使用
1 REST框架中的模型验证
REST框架中的模型验证与Django的ModelForm表单验证有少量不同:
ModelForm中的验证部分在form中,部分由模型验证,而在REST框架中则完全由序列化类验证
优点:
1. 让代码的行为变得更明显
2. ModelSerializer与Serializer类互相转化很轻松
3. 使用repr方法就能看到明确的验证规则
class CustomerReportRecord(models.Model):
time_raised = models.DateTimeField(default=timezone.now, editable=False)
reference = models.CharField(unique=True, max_length=20)
description = models.TextField()
class CustomerReportSerializer(serializers.ModelSerializer):
class Meta:
model = CustomerReportRecord
# 查看字段验证信息
>>> from project.example.serializers import CustomerReportSerializer
>>> serializer = CustomerReportSerializer()
>>> print(repr(serializer))
CustomerReportSerializer():
id = IntegerField(label='ID', read_only=True)
time_raised = DateTimeField(read_only=True)
reference = CharField(