车陂IT仔 2022-04-20 12:00 采纳率: 0%
浏览 42
已结题

django rest_framework如何在get_paginated_response方法中返回url传入的每页展示的条数(page_size)

我重写了方法get_paginated_response,返回总条数、当前页面已经总页码,那么这么返回这个url(?/size=2)中的size呢

from collections import OrderedDict
from rest_framework.response import Response
from rest_framework.pagination import PageNumberPagination


class PageNumber(PageNumberPagination):
    page_size = 10
    page_size_query_param = 'size'
    page_query_param = 'page'
    max_page_size = None

    # 重写方法,去掉next等字段,自定义返回
    def get_paginated_response(self, data):
        return Response(OrderedDict([
            ('total', self.page.paginator.count),
            ('total_page', self.page.paginator.num_pages),
            ('page', self.page.number),
            # 这个是我疑问的地方
            ('size', ???),
            ('list', data),
        ]))
  • 写回答

1条回答 默认 最新

  • 车陂IT仔 2022-04-20 13:50
    关注

    1、使用self.request.query_params获取传入的参数list;
    "page_size": {
    "size": "1",
    "page": "2"
    },
    2、然后使用int(self.request.query_params["size"])获取到具体的值;
    "size": 1,

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月20日

悬赏问题

  • ¥15 fastreport怎么判断当前页数
  • ¥15 Kylin-Desktop-V10-GFB-Release-JICAI_02- 2207-Build14-ARM64.iso有没有这个版本的系统啊
  • ¥15 能不能通过蓝牙将传感器数据传送到手机上
  • ¥20 100元python和数据科学实验项目
  • ¥15 根据时间在调用出列表
  • ¥15 R 包chipseeker 安装失败
  • ¥15 Veeam Backup & Replication 9.5 还原问题
  • ¥15 vue-print-nb
  • ¥15 winfrom的datagridview下拉框变成了黑色,渲染不成功
  • ¥20 利用ntfy实现短信推送