首页 > 其他分享 >源代码下的关系

源代码下的关系

时间:2023-12-26 09:14:44浏览次数:43  
标签:关系 请求 get self queryset user 源代码 serializer

get请求获取多个数据
def get(self, request):
user_gs = models.User.objects.all()
user_set = UserSerializer(instance=user_gs, many=True)
return Response(user_set.data)
views
APIView
post请求添加数据
get请求获取单个数据
def post(self, request):

user_set = UserSerializer(data=request.data)

if user_setis_valid0:user_set.save(return Response(user_set.data)

else:return Response(错误信息)

def get(self, request, pk)

:user = models.User.objects.filter(pk=pk).first(user_set = UserSerializer(instance=user)

return Response(user_set.data)

def put(self, request, pk)

:user = models.User.objects.filter(pk=pk).first(user_set = UserSerializer(instance=user, data=request.data)

if user_set.is_valid():

user_set.save()

return Response(user_set.data)

else:return Response(错误信息)

put请求修改数据
def delete(self, request, pk):delete请求删除数据if res[0] > 0:

return Response(")else:return Response(错误信息)
res = models.User.objects.filter(pk=pk).delete(
响应请求: get请求获取多条数据使用继承搭配:GenericAPIViewListModelMixin        属性定义:queryset、serializer_class方法内部:self.list(request)
响应请求: post请求添加数据使用继承搭配:GenericAPIViewCreateModelMixin        属性定义:queryset、serializer_class方法内部: self.create(request)
响应请求: get请求获取单条数据使用导入继承搭配: GenericAPIViewRetrieveModelMixinmixins属性定义: queryset、serializer_class方法内部: self.retrieve(request,*args,**kwargs)
响应请求: put请求修改数据使用继承搭配:GenericAPIViewUpdateModelMixin        属性定义:queryset、serializer_class方法内部:self.update(request, *args, **kwargs)
响应请求: delete请求删除数据使用继承搭配:GenericAPIViewDestroyModelMixin      属性定义:queryset、serializer_class方法内部: self.destroy(request,*args,**kwargs)
rest_framework
generics
继承views.APIView导GenericAPIView        使用属性定义: queryset、serializer_class方法内部: self.get_queryset0)
self.get_serializer() 继承关系mixins.ListModelMixinGenericAPIView  导入ListAPIView使用响应请求: get请求获取多条数据属性定义: queryset、serializer_class继承关系mixins.CreateModelMixinGenericAPIView>CreateAPIView使用响应请求: post请求添加数据属性定义: queryset、serializer_class
继承关系mixins.ListModelMixinmixins.CreateModelMixin
GenericAPIViewListCreateAPIView          使用响应请求: get请求和post请求属性定义: queryset、serializer_class继承关系mixins.RetrieveModelMixin
GenericAPIViewRetrieveAPIView使用响应请求: get请求单条数据属性定义: queryset、serializer_class
导入
继承关系mixins.UpdateModelMixin,GenericAPIView
导入
使用响应请求: put请求更新数据属性定义: queryset、serializer_class
UpdateAPIView
继承关系mixins.DestroyModelMixinGenericAPIView
导入
DestroyAPIView
使用响应请求: delete请求删除数据属性定义: queryset、serializer_class继承关系mixins.RetrieveModelMixin
mixins.UpdateModelMixinGenericAPIViewRetrieveUpdateAPIView使用响应请求: get请求和put请求属性定义: queryset、serializer_classmixins.RetrieveModelMixin继承关系mixins.DestroyModelMixinGenericAPIViewRetrieveDestroyAPIView
使用响应请求: get请求和delete请求属性定义: queryset、serializer_classmixins.RetrieveModelMixin

继承关系

mixins.DestroyModelMixinGenericAPIView使用响应请求: get请求&delete请求&put请求属性定义: queryset、serializer_classRetrieveUpdateDestroyAPIView

继承关系
mixins.CreateModelMixinmixins.RetrieveModelMixinmixins.UpdateModelMixinmixins.DestroyModelMixinmixins.ListModelMixinGenericViewSet
viewsets
ModelViewSet
响应请求:五个都可以接受使用属性定义: queryset、serializer_class  

路由配置:as_view(["get": "list","post":"create"3)

    as_view(("get"."retrieve""put"."update","delete":"destroy"))

mixins.RetrieveModelMixin继承关系mixins.ListModelMixin
GenericViewSetReadOnlyModelViewSet      响应请求:两个只读请求使用属性定义: queryset、serializer_class  路由配置:as_view(("get"."list",))

                                                          as_view((get"."retrieve",))
继承关系ViewSetMixingenerics.GenericAPIView  响应请求: get请求&delete请求&put请求属性定义: queryset、serializer_class方法内部使用self.get_queryset()self.get_serializer(路由配置:as_view(("key"."values")ps: 方法可以自定制名,注意路由配置
GenericViewSet
ViewSetMixinviews.APIView
继承关系
导入
请求响应:1.按照继承APIView的方法使用2.因继承了ViewSetMixin注意路由写法3.可以自定制方法名,注意路由配置路由配置:as_view((key":"values",))
ViewSet
使用
这是一个魔法使用只要继承了它路由的写法就需要ViewSetMixinas_view(("key"."values")ps: 注意查找顺序,ViewSetMixin写在左边

标签:关系,请求,get,self,queryset,user,源代码,serializer
From: https://www.cnblogs.com/wzh366/p/17927338.html

相关文章

  • C#版本与.NET版本对应关系以及各版本的特性
    C#版本与.NET版本对应关系以及各版本的特性 C#版本.NET版本发布日期特性C#1.0.NETFramework1.02002-02-13委托、事件C#1.1.NETFramework1.12003-04-24APM(异步编程模型)C#2.0.NETFramework2.02005-11-07泛型、匿名方法、迭代器、可空类型C#......
  • 1849_emacs_org-mode提取源代码
    Grey全部学习内容汇总:https://github.com/greyzhang/g_org1849_emacs_org-mode提取源代码代码提取是从org-mode的org文件中提取生成我们所需要的代码的过程,这里结合官方的文档来看看还有什么细节的配置信息。主题由来介绍文学式编程其实是把直接写代码转换成了写文学式的篇章,在......
  • Windows电脑上的多开器与分布式存储系统的关系
    当今,随着信息技术的不断发展,人们对于计算机性能和存储需求的要求也越来越高。在Windows电脑上,多开器与分布式存储系统之间存在着密切的关系,二者共同构建了一个高效、可靠的计算环境。首先,让我们来了解一下多开器的概念。多开器是一种软件工具,可以让用户在单台计算机上同时启动多......
  • React 的 Suspense 和 ErrorBoundary 还有这种关系?
    Suspense组件想必大家都用过,一般是和React.lazy结合用,用来加载一些异步组件。比如这样一个组件://src/Aaa.jsxexportdefaultfunctionAaa(){return<div>aaa</div>}就可以在另一个组件里用lazy+Suspense异步加载:importReact,{Suspense}from'react';const......
  • Java登陆第二十九天——Servlet继承关系,service和doGet的区别
    Servlet继承关系树:Servlet接口查看Servlet源码publicinterfaceServlet{voidinit(ServletConfigvar1)throwsServletException;ServletConfiggetServletConfig();voidservice(ServletRequestvar1,ServletResponsevar2)throwsServletException,I......
  • 数字医院HIS系统源代码,采用前后端分离架构,SaaS云部署,支持电子病历四级
    本HIS项目采用前后端分离架构,SaaS云部署模式前端:Angular+Nginx+JavaScript后端:Java+Spring,SpringBoot,SpringMVC等数据库:MySQL+MyCat1、自主研发+应用实例,整合电子病历系统、LIS系统,支持电子病历四级。2、功能:预约挂号、门诊费用、住院管理、药房管理、药库管理、门诊医生站、门诊......
  • VUE框架底层源代码解读------VUE框架
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • [工业相机] 分辨率、精度和公差之间的关系
    作者:丶布布文章预览:一.分辨率(Resolution)1、工业相机的分辨率是如何定义的?2、工业相机的分辨率是如何选择的?二.精度(Accuracy)1、像素精度(PixelAccuracy)2、定位精度和重复定位精度(RepeatPrecision)三.公差(Tolerance)四.课后作业(Post-ClassExercises)视觉行业的初学者,甚至......
  • Windows电脑上的多开工具与云存储系统有何关系?
    多开工具与云存储系统的协同发展简介:随着科技的快速发展,Windows电脑已经成为我们日常生活和工作中不可或缺的一部分。在使用Windows电脑过程中,多开工具和云存储系统起到了重要的作用。本文将探讨多开工具与云存储系统之间的联系,并分析它们在提高工作效率和数据安全性方面的价值......
  • JavaScript代码加密:保护你的源代码
    一、引言 JavaScript是一种广泛使用的编程语言,常用于前端开发。然而,由于其源代码是公开可见的,因此很容易被他人查看和修改。这可能会导致代码的安全性和稳定性受到影响,甚至可能被恶意利用。因此,对JavaScript代码进行加密是非常重要的。 本文将介绍一些JavaScript代......