1, 序列列化器器
1,分类
Serializer
需要⾃自⼰己实现字段
需要⾃自⼰己编写create,update⽅方法
ModelSerializer
⾃自动⽣生成字段
⾃自动补全create,update
序列列化
模型类对象,转成json格式
json转模型类对象
1, 字段类型
2,字段选项
3,单字段
4,多字段
5,⾃自定义
create
update
校验
⼊入库
2,作⽤用
反序列列化
APIView
1, ⼀一级视图
特点
1, 封装了了⾃自⼰己的request,response
2,继承⾃自View
3, 扩展了了其他功能: 认证,限流,权限…
GenericAPIView
1, 继承APIView
request
response
request.query_params
request.data
1,⾃自动根据Accept返回对应数据
2,封装了了状态码
2,三个属性,⽅方法
serializer_class
属性
queryset
lookup_field
get_serializer
⽅方法
get_queryset
get_object
DRF
2,视图
2,⼆二级视图
特点
1,ListModelMixin
获取所有
list
2,CreateModelMixin
3,配合mixin使⽤用
分类作⽤用
3,RetrieveModelMixin
4,UpdateModelMixin
5,DestroyModelMixin
创建单个
create
获取单个
retrieve
更更新单个
update
删除单个
destroy
1, ListAPIView
2,CreateAPIView
3,三级视图
种类,特点
3,RetrieveAPIView
4,UpdateAPIView
5,DestroyAPIView
获取所有
get
创建单个
post
获取单个
get
修改单个
put
删除单个
delete
4,视图集
⽗父类
继承GenericAPIView + 对应的Mixin
1, ViewSet
种类
2, ReadOnlyModelViewSet
3,ModelViewset
可以将多个操作组合在⼀一起
特点
可以进⾏行行路路由映射
可以添加额外动作
种类,特点
DefaultRouter
可以⽣生成3对路路由
SimpleRouter
两个路路由(列列表,详情)
3,路路由
⾃自定义的⽅方法需要使⽤用action装饰,
才能⽣生成路路由
注意点
格式:
@action(method=[‘get’],detail=False)
前缀/⽅方法名
@action(method=[‘get’],detail=True)
前缀/{pk}/⽅方法名