drf - 加密分页组件 CursorPagination

paginations.py文件:自定以加密分页类

from rest_framework.pagination import CursorPagination
class CarCursorPagination(CursorPagination):
    # 默认一页的条数
    page_size = 3
    
    # 用户可以自定义选择一页的条数,但最多显示max_page_size设置的条数
    page_size_query_param = 'page_size'
    max_page_size = 5
    
    # 默认排序规则:按pk从小到大排序,-pk表示从大到小排序
    ordering = 'pk'

view.py文件:

from rest_framework.viewsets import ModelViewSet
from . import models, serializer
from .paginations import CarCursorPagin
from rest_framework.filters import OrderingFilter
class CarModelViewSet(ModelViewSet):
    queryset = models.Car.objects.filter(is_delete=False)
    serializer_class = serializer.CarModelSerializer
    pagination_class = CarCursorPagination
    # filter_backends = [OrderingFilter]

总结:

1.采用默认排序访问,url链接:car/?cursor=加密串

2.结合视图类实现OrderingFilter自定义排序访问,url链接:car/?cursor=加密串&ordering=排序字段

转载于:https://www.cnblogs.com/863652104kai/p/11523643.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值