首页 动态 消费 创业 汽车 商业 房产 互联网 纵横 聚焦 快讯 热点 手机版
快讯 >

环球今日报丨Django REST Framework-分页(二)

来源:腾讯云 发布时间:2023-04-25 13:39:32


(资料图片)

LimitOffsetPagination示例

以下是一个简单的使用 LimitOffsetPagination分页器的示例:

class BookViewSet(viewsets.ModelViewSet):    queryset = Book.objects.all()    serializer_class = BookSerializer    pagination_class = BookPagination

在这个例子中,我们创建了一个名为 BookPagination的分页器类,并设置了默认的每页返回的对象数量为 10。我们还为客户端指定了可以在查询参数中使用的 limitoffset参数,并设置了最大页面大小为 100。最后,我们将 BookPagination分页器类添加到 BookViewSet视图集合中。

现在,当客户端发起请求时,我们的 BookViewSet视图集合将使用 BookPagination分页器将查询结果划分为多个页面,并将每个页面的数据返回给客户端。客户端可以在查询参数中指定 limitoffset参数来请求不同的数据范围。

CursorPagination示例

以下是一个简单的使用 CursorPagination分页器的示例:

from rest_framework.pagination import CursorPaginationclass BookPagination(CursorPagination):    ordering = "id"    page_size = 10    cursor_query_param = "cursor"class BookViewSet(viewsets.ModelViewSet):    queryset = Book.objects.all()    serializer_class = BookSerializer    pagination_class = BookPagination

在这个例子中,我们创建了一个名为 BookPagination的分页器类,并指定了默认的页面大小为 10,并将 ordering属性设置为 id,以便使用 id字段作为排序依据。我们还为客户端指定了可以在查询参数中使用的 cursor参数。最后,我们将 BookPagination分页器类添加到 BookViewSet视图集合中。

现在,当客户端发起请求时,我们的 BookViewSet视图集合将使用 BookPagination分页器将查询结果划分为多个页面,并将每个页面的数据返回给客户端。客户端可以使用上一页和下一页的游标链接来遍历页面,从而避免使用基于页码的分页器中的一些常见问题。

关键词:
责任编辑:FG003


 

网站首页 | 关于我们 | 免责声明 | 联系我们
 

所有文章、评论、信息、数据仅供参考,使用前请核实,风险自负。
 

Copyright 2013-2020  高陵经济网 版权所有 豫ICP备20005723号-14
 

营业执照
 

联系邮箱:29 59 11 57 8@qq.com     glxcb.cn    All Rights Reserved