GenericAPIView和Mixin混⼊类

GenericAPIView和Mixin混⼊类
一、知识点讲解
每次基本操作:增、删、改、查,只有 序列化器类和查询集不⼀样
将不⼀样的数据 ,单独拿出来,作为参数传递
⼀样的步骤,可以封装为类,后期 直接继承使⽤

1、(1.1)GenericAPIView
GenericAPIView 继承 APIView ,主要增加了操作序列化器和数据库查询的⽅法,作⽤是为下⾯
Mixin混⼊类的执⾏提供数据⽀持。通常在使⽤时,可搭配⼀个或多个Mixin扩展
queryset —— ⽤于从该视图返回对象的查询集。通常,必须设置此属性,或重写
get_queryset() ⽅法
serializer_class —— ⽤于验证和反序列化输⼊以及序列化输出的序列化类。通常,必须设
置此属性,或重写 get_serializer_class() ⽅法。

(1.2)⼩结
GenericAPIView 相对于 ⽗类 APIView , 把独特的 数据 和 序列化器 抽象 出来, 把具体的 操
作步骤, 变为统⼀, ⽅便后期的 继承与复⽤, 也就是 接下来 要说的 Mixin 混⼊类

2、(2.1)、Mixin混⼊类
mixin 类提供⽤于提供基本视图⾏为的操作。请注意,mixin 类提供了操作⽅法,⽽不是直接定义处
理⽅法,如 .get() 和 .post() 。这允许更灵活的⾏为组合。
mixin 类可以从 rest_framework.mixins 导⼊
ListModelMixin : 查询全部
CreateModelMixin :添加
RetrieveModelMixin :查询单个
UpdateModelMixin :更新
DestroyModelMixin :删除
(2.2)⼩结
GenericAPIView 提供 查询集和序列化器, Mixin 混⼊类提供 具体的操作⽅法
两者结合,就可以简化 操作过程

3、扩展类
以下类是具体的通⽤视图。⽽往往要⼯作的级别就是 通⽤视图。
CreateAPIView : 添加视图类
ListAPIView : 列表展示视图类
RetrieveAPIView : 详情视图类
DestroyAPIView :删除视图类
UpdateAPIView :修改视图类
ListCreateAPIView :添加、展示视图类
RetrieveUpdateAPIView : 详情、更新 视图类
RetrieveDestroyAPIView :详情、删除视图类
RetrieveUpdateDestroyAPIView :详情、更新、删除视图类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值