DRF PageNumberPagination分页

本文详细介绍了Django内置的`PageNumberPagination`类的使用方法,包括默认每页数据条数、页数参数和条数参数的设置,以及`max_page_size`限制。通过实例展示了不同参数组合下接口返回数据的变化,帮助读者理解其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

class MyPageNumberPagination(PageNumberPagination):
    page_size = 3
    page_query_param = 'page'
    page_size_query_param = 'size'
    max_page_size = 7
page_size:默认的每页数据条数
page_query_param:页数的参数名,默认page
page_size_query_param:条数的参数名
max_page_size:当page_size_query_param有值时,每页最多返回数据条数

当前有个查询item的接口,总共有12条数据,默认排序方式,以下示例都在这些数据上演示

 1.不使用page和size参数时。返回的数据条数是根据page_size的值来返回的,也就是返回3条数据

2.只使用page参数时,页数会根据page的值,条数是根据page_size的值。也就是从第二页返回3条数据

3.当使用page和size时,页数会根据page的值,条数是根据size的值。也就是从第二页返回4条数据

 上面这种情况是在size的值小于max_page_size得值时。

 当size的值大于max_page_size的值时,也只会按照max_page_size的值来返回数据条数。size值是8,但是max_page_size的值是7,所以只会从第一页返回7条数据。

本来想百度一下这几个字段的用法的,结果全是一堆复制黏贴,不知所云的东西。以上是自己试验出来的,如有不对请指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值