GenericAPIView中主要的类属性和方法有哪些?有什么作用?

类属性:
queryset:指定当前类视图下用到的查询集
serializer_class:加粗样式:指定当前类视图下用到的序列化器类

search_fields:指定模型类中前端能够支持搜索的字段
ordering_fields:指定模型类中前端能够支持排序的字段
filter_backends:指定在特定的类视图下进行操作(例如过滤和排序),优先级高于全局
pagination_class:指定在特定的类视图下指定分页引擎类,优先级高于全局
look_field:models中的字段名或者url中的参数名,参数默认为pk
look_url_kwarg:指定url路由条目中外键的路径参数名称,lookup_url_kwarg默认为None;如果lookup_url_kwarg默认为None,那么lookup_url_kwarg与look_field相同(pk)
lookup_url_kwarg指定url路由条目中外键的路径参数名称

方法:
get_queryset():获取查询集对象
get_object():获取单个模型类对象
get_serializer():获取序列化的类,返回的是序列化对象
get_serializer_class():获取我们定义的序列化类

get_serializer_context():获取上下文信息,主要有 request, format, view(self)
filter_queryset():过滤 queryset , 只要传入 queryset,返回过滤后的 queryset。
paginate_queryset():
1. 判断是否有分页属性
2. 没有则返回None,有则进行分页操作,

get_paginated_response(): 返回的是具有额外属性 Response 的分页对象
paginator():
1. 判断是否有分页对象
2. 有则赋值给 self._paginator 没有则赋值 None 给 self._paginator

django_rest_framework之GenericAPIView(三)相关推荐

  1. django_rest_framework之GenericAPIView(二)之搜索、排序、分页讲解

    一.搜索过滤的步骤 1.在全局配置文件settings.py中设置'DEFAULT_FILTER_BACKENDS','DEFAULT_FILTER_BACKENDS'指定使用的过滤搜索引擎类路径(S ...

  2. django_rest_framework之GenericAPIView(一)源码讲解

    1.GenericAPIView是APIView的子类,所以具备APIView的所有功能 a.具备View的所有特性 b.提供了认证.授权.限流功能 c.将JsonResponse-->Resp ...

  3. rest_framework05:GenericAPIView用法/扩展类5个/子类9个/ViewSetMixin 自定义方法名字

    GenericAPIView 1.视图层类使用GenericAPIView继承,能简化类里的方法code. 2.简化后的方法code格式基本通用,简单修改即可应用到其他类. 一.class开始加入 q ...

  4. Django Rest_framework 4(APIView、GenericAPIView、ViewSet)

    详解Django DRF框架中APIView.GenericAPIView.ViewSet区别 https://zhuanlan.zhihu.com/p/72527077 View->APIVi ...

  5. 四十七、python学习之Django框架(DRF框架三):Request与Response、视图与视图集、路由

    Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验.保存.转换数据); 控制数据库查询的执行 一.Request与Response: 1. Request:   ...

  6. drf之day05: 2个视图基类,GenericAPIView的属性和方法,基于APIView写5个接口,基于GenericAPIView写5个接口,5个视图扩展类,9个视图子类,视图集

    目录标题 一:2个视图基类 1.GenericAPIView的属性和方法 二:基于APIView写5个接口 三:基于GenericAPIView写5个接口 四:五个视图扩展类 1..基于Generic ...

  7. 伍六七带你学算法 进阶篇-三数之和

    三数之和 难度-中等 题目:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组. 注意 ...

  8. 远程控制virtual box虚拟机系统的三种方式

    远程控制virtual box虚拟机系统的三种方式[阅读时间:5分钟] 1.使用现有的远程控制软件 2.使用SSH连接 3.使用远程桌面控制虚拟机系统 对于把虚拟机安装在寝室笔记本的人来说,能够远程控 ...

  9. 2022-2028年中国三轴陀螺仪行业市场深度分析及投资前景分析报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了三轴陀螺仪行业相关概述.中国三轴陀螺仪行业运行环境.分析了中国三轴陀 ...

最新文章

  1. mysql存储过程_MySQL带out和inout模式参数的存储过程
  2. 2D平台游戏王牌英雄的AI寻路解决方案
  3. halcon知识:对空图像的系列操作
  4. hdu5455(2015沈阳网络赛F题)
  5. 【NLP】预训练模型综述
  6. 【C++ grammar】nullptr and Dynamic Memory Allocation (空指针和动态内存分配)
  7. JavaSE——面向对象进阶(封装、this、static、代码块、包、权限修饰符、main方法详解)
  8. LeetCode 453. Minimum Moves to Equal Array Elements
  9. mac下Python2运行SparkSQL
  10. 数组的循环移位c语言,如何将一个数组的元素循环左移?
  11. Checkbox与RadioGroup的使用方法
  12. lamp phpstudy mysql_Phpstudy 搭建服务器教程
  13. 该怎么标注建筑图纸后进行保存?
  14. 软件工程-第五章-总体设计
  15. 《深入理解计算机系统(原书第三版)》pdf
  16. 【大数据开发】SparkCore——利用广播变量优化ip地址统计、Spark2.x自定义累加器
  17. 3D中的OBJ文件格式详解(转)
  18. 积分学在计算机行业的应用,浅谈积分激励在计算机项目教学中的应用.doc
  19. JavaScript动态显示鼠标移动轨迹
  20. 手机显示系统检测您正在通过代理服务器,当手机无线网出现“检测到您正在使用多个终端共享上网,网络访问被冻结15...

热门文章

  1. linux 运行msi文件是什么意思,查看Msi文件内容
  2. 欧洲顶级云数据中心着火,损失惨重!筑牢数据中心“防火墙”,可靠才是王道!...
  3. 云数据中心异构资源管理大有可为
  4. 计算机网络安全反思,网络安全教育教学反思范文
  5. java comparable排序_Java使用Comparable解决排序问题
  6. Algorithm:C++语言实现之链表相关算法(单链公共结点问题、一般LCA、括号匹配、最长括号匹配、逆波兰表达式Reverse Polish Notation、直方图矩形面积、收集雨水问题)
  7. BTC:简单易懂比特币之比特币的神奇——区块链技术的体现
  8. Python运行异常 Original error was: DLL load failed:
  9. JAVA_OA(十四)番外:JAVAWEB防止表单重复提交的方法整合(包括集群部署)
  10. Pandas常用I/O(一)------read_csv(),read_table()