文章目录
一、使用djangorestframework序列化器
是一款django前后端分离的组件
二、使用步骤
1.序列化器的创建继承ModelSerializer
代码如下(示例):
class StudentSerializer(serializers.ModelSerializer):
# StringRelatedField将模型对象关联的模型对象返回个前端
# 重写classes=classes.id,现在是classes等于str方法
# classes = serializers.StringRelatedField(label='班级', read_only=True)
# source返回模型对象的那个数据
class_name = serializers.CharField(source='classes.name', read_only=True)
class Meta:
model = Student
# fields = "__all__" # 指定映射的字段
# fields = ['id', 'name', 'age', 'sex']
# read_only_fields = ['id'] # 设置id为只读
exclude = ['is_delete']
extra_kwargs = {
'age': {'min_value': 0, 'max_value': 200}
}
2.视图层序列化器ModelViewSet
class StudentViewSet(viewsets.ModelViewSet):
queryset = Student.objects.filter(is_delete=False) # 定义视图集使用的查询集
serializer_class = StudentSerializer # 定义序列化器
2.路由层序列化器DefaultRouter
urlpatterns = [
]
router = DefaultRouter() # 创建路由器
router.register('students', StudentViewSet)
urlpatterns += router.urls # 只会生成标准的restful风格的增删改查功能接口路由
总结
djangorestframework封装了restful接口,快速开发前后端分离