drf 分页
分页: 1.简单的分页:
每页显示条数: page_size = api_settings.PAGE_SIZE
查询的页码数: page_query_param = "page"
每页最大显示条数: page_size_query_param = None
控制最大显示条数:max_page_size = 8
举例:
1.-如果我要的数据是第一页显示10条:http://127.0.0.1:8000/books/?ccc=10&page=1
2.-如果我要的是第二页显示5条:http://127.0.0.1:8000/books/?ccc=5&page=2
3.使用:
page_sipmle=PageNumberPagination()
page_sipmle.page_size=4
page_sipmle.page_size_query_param='ccc'
page_sipmle.max_page_size=8
book_list = models.Book.objects.all()
page_list = page_sipmle.paginate_queryset(book_list,request,self)
book_ser = BookSerializer(instance=page_list, many=True)
2.偏移分页:
设置时,默认偏移条数为5:default_limit = api_settings.PAGE_SIZE
偏移的条数:limit_query_param = "limit"
标杆:offset_query_param = "offset"
最大偏移条数:max_limit = None
举例:
1. 结果是:从1到5:-http://127.0.0.1:8000/books/
2. 结果是:从1到7:-http://127.0.0.1:8000/books/?limit=7
3. 结果是:从7到8,两条:-http://127.0.0.1:8000/books/?limit=2&offset=6
4. 结果是:从7到11,5条:-http://127.0.0.1:8000/books/?offset=6 3.游标分页:速度最快,但是只能往前走和往后走
- cursor_query_param = 'cursor'
page_size = api_settings.PAGE_SIZE :默认每页显示的条数
ordering = 'id' :按谁排序
4 5 6 10
drf 分页的更多相关文章
- python 全栈开发,Day99(作业讲解,DRF版本,DRF分页,DRF序列化进阶)
昨日内容回顾 1. 为什么要做前后端分离? - 前后端交给不同的人来编写,职责划分明确. - API (IOS,安卓,PC,微信小程序...) - vue.js等框架编写前端时,会比之前写jQuery ...
- drf 分页,获取fk,choise,m2m等字段数据(序列化)
1.什么是restful规范 是一套规则,用于程序之间进行数据交换的约定. 他规定了一些协议,对我们感受最直接的的是,以前写增删改查需要写4个接口,restful规范的就是1个接口,根据method的 ...
- Django DRF 分页
Django DRF 分页 分页在DRF当中可以一共有三种,可以通过setttings设置,也可也通过自定义设置 PageNumberPagination 使用URL http://127.0.0.1 ...
- DRF 分页组件
Django Rest Framework 分页组件 DRF的分页 为什么要使用分页 其实这个不说大家都知道,大家写项目的时候也是一定会用的, 我们数据库有几千万条数据,这些数据需要展示,我们不可能直 ...
- DRF分页组件
为什么要使用分页 其实这个不说大家都知道,大家写项目的时候也是一定会用的, 我们数据库有几千万条数据,这些数据需要展示,我们不可能直接从数据库把数据全部读取出来, 这样会给内存造成特别大的压力,有可能 ...
- 【DRF分页】
目录 第一种 PageNumberPagination 查第n页,每页显示n条数据 第二种 LimitOffsetPagination 在第n个位置,向后查n条数据 第三种 CursorPaginat ...
- drf分页组件补充
drf偏移分页组件 pahenations.py from rest_framework.pagination import LimitOffsetPagination class MyLimitOf ...
- drf分页功能
什么是restful规范 是一套规则,用于程序之间进行数据交换的约定. 他规定了一些协议,对我们感受最直接的的是,以前写增删改查需要写4个接口,restful规范的就是1 个接口,根据method的不 ...
- DRF分页
一.序列化 from rest_framework impost serializers from . models import * class GoodsSerializer(serializer ...
随机推荐
- git clone项目
1. 生成公钥和私钥 ssh-keygen 2. 将公钥添加到github或者gitlab上,一般github或者gitlab允许添加多个公钥,可能是考虑到用户使用不同的机器了吧,还是很贴心的. 3. ...
- Hadoop设置任务执行队列及优先级
Hive设置方法: SET mapreduce.job.queuename=root.up; SET mapreduce.job.priority=HIGH; set tez.queue.name=c ...
- ECharts 报表事件联动系列三:柱状图,饼状图实现联动
源码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...
- python目录和文件操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 要操作目录,必须引入os模块 import os1.得到当前工作目录,即当前Python脚本工作的目录路径: os ...
- iOS runtime实用篇--和常见崩溃say good-bye!
程序崩溃经历 其实在很早之前就想写这篇文章了,一直拖到现在. 程序崩溃经历1 我们公司做的是股票软件,但集成的是第三方的静态库(我们公司和第三方公司合作,他们提供股票的服务,我们付钱).平时开发测试的 ...
- JDK8的ConcurrentHashMap也会造成CPU 100%
转载:不止 JDK7 的 HashMap ,JDK8 的 ConcurrentHashMap 也会造成 CPU 100%?原因与解决~ 现象 大家可能都听过JDK7中的HashMap在多线程环境下可能 ...
- mac bash 下使用vi 快捷方式——因为没有alt键 所以没有办法 用vi模式也非常方便的
set -o emacs ##切到emacs模式 set -o vi ##切到vi模式 set -o ## 查看当前选项的设置状态 所以你只需要在.bashrc下加入 set -o vi 然后,使用E ...
- nginx反向代理配置相对路径
需求: 在公司内部搭建了一个php的网站,想用花生壳映射到外网. 一.反向代理解决直接映射不成功问题 直接用把花生壳的"域名+端口"指向此php网站并竟然不生效.但是不加网站名可以 ...
- VSS迁移详细教程
本文默认迁移机和目标机已是安装好VSS服务,如果没装好参见VSS+SourceAnywhere for VSS搭建版本控制系统教程 如果你只想以最快的速度迁移库而并不关心VSS的一些操作使用,那么可直 ...
- 套接字编程,建立连接connect,绑定套接字bind
1.建立连接 int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 参数sockfd是由函数socket创建 ...