本文主要是介绍模型类序列化器的几个类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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请求方法,
这种就可以灵活使用,
这篇关于模型类序列化器的几个类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!