📂drf
2022-10-09 11:47阅读: 45评论: 0推荐: 0

drf 自定义 分页类(基于PageNumberPagination)

分页类

# 自定义分页类
class MyPageNumberPagination(PageNumberPagination):
    # 默认每页大小
    page_size = 1
    # 最大每页大小
    max_page_size = 3
    # 控制每页大小的查询字段
    page_size_query_param = "page_size"

views

class BlogView(APIView):
    """
    get:
    返回所有blog
    post:
    添加博客
    """
    authentication_classes = [ParamsAuthentication, ]

    def get(self, request, *args, **kwargs):
        queryset = models.Blog.objects.order_by('-id').all()
        # 实例化自定义类
        pager = MyPageNumberPagination()
        result = pager.paginate_queryset(queryset, request, self)
        ser = BlogModelSerializer(instance=result, many=True)
        res_code.res_success(data=ser.data, msg='查询成功')
        return Response(res_code.dict)

结果

image

本文作者:Sherwin

本文链接:https://www.cnblogs.com/sherwin1995/p/16771636.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Sherwin_szw  阅读(45)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.