Django REST框架构建Web API。Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
多数时候,在 REST 框架中处理验证时,只需要依赖默认的字段验证,或者在序列化程序和字段类上编写显式验证方法。
在开发 REST API 接口时,在视图中需要做的最核心的事:
每个视图具体操作的数据不同,但增、删、改、查的实现流程都可以复用简化编写:
REST 框架的验证
Django REST 框架序列化器中的验证处理方式:ModelForm
ModelForm 验证部分在表单上执行,部分在模型实例上执行。使用 REST 框架,验证完全在序列化程序类上执行。
class CustomerReportRecord(models.Model):
reference = models.CharField(unique=True, max_length=20)
description = models.TextField()
create_at = models.DateTimeField(default=timezone.now, editable=False)
class CustomerReportSerializer(serializers.ModelSerializer):
class Meta:
model = CustomerReportRecord
命令行执行 python manage.py shell
>>> from serializers import CustomerReportSerializer
>>> serializer = CustomerReportSerializer()
>>> print(repr(serializer))
CustomerReportSerializer():
id = IntegerField(label='ID', read_only=True)
create_at = DateTimeField(read_only=True)
reference = CharField(max_length=20, validators=[<UniqueValidator(queryset=CustomerReportRecord.objects.all())>])
description = CharField(style={'type': 'textarea'})