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条数据。
本来想百度一下这几个字段的用法的,结果全是一堆复制黏贴,不知所云的东西。以上是自己试验出来的,如有不对请指正。
本文详细介绍了Django内置的`PageNumberPagination`类的使用方法,包括默认每页数据条数、页数参数和条数参数的设置,以及`max_page_size`限制。通过实例展示了不同参数组合下接口返回数据的变化,帮助读者理解其工作原理。
1197

被折叠的 条评论
为什么被折叠?



