ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

模型类序列化器的几个类

2022-04-04 03:00:36  阅读:169  来源: 互联网

标签:GenericAPIView get 几个 模型 list ViewSetMixin post 序列化 方法


GenericAPIView   实现通用的数据库查询和序列化
在类中定义:
 queryset = Book.objects
serializer_class = myserializersmod.BookModelSerializer
自己需要实现get post put delete 方法 好处是写法都是差不多的
ListModelMixin 
RetrieveModelMixin
UpdateModelMixin等等
这个里面实现的就是增删改查的功能
ModelViewSet 里面实现了全部的增删改查(是带modelmixin的),还继承了GenericViewSet
GenericViewSet 继承了GenericAPIView和ViewSetMixin
GenericAPIView是通用类,
ViewSetMixin是重写了as_view方法,重写这个as_view方法的 就是想get替换成了list,也就是ListModelMixin类中方法 det list ,调get 就是调的list


ListAPIView 继承了ListModelMixin 和GenericAPIView 但是没有继承ViewSetMixin 所以使用的还是get方法 ,是在这个类的方法中调用了list
def get(self, request, *args, **kwargs):
return self.list(request, *args, **kwargs)

ViewSet 继承了ViewSetMixin, views.APIView 首先继承了ViewSetMixin 代表着就要替换get post等方法的名字,但是他是继承了APIview,所以视图函数中的代码都得自己写,
为什么要使用这个类,因为可以用装饰器 把函数名字直接当成url,比如def login,通过装饰器,在通过半自动路由的设置,就可以直接访问/login/,而且可以指定这个函数是什么请求方法,
在使用jwt的时候,用户登录后需要把token返回给前端,让前端去处理保存数据,这看起来是get数据,通过装饰器可以指定请求方式为post,修改的方法同样能写在一起,也同样可以通过装饰器指定post请求方法,
这种就可以灵活使用,



 

标签:GenericAPIView,get,几个,模型,list,ViewSetMixin,post,序列化,方法
来源: https://www.cnblogs.com/dzs894330350/p/16098267.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有