我已经为我的一个应用程序设置了自定义分页,我面临的问题是页面大小仅显示应用程序中设置的默认值,但不会根据查询参数中发送的值进行更改。我哪里出错了?在
class CustomPagination(PageNumberPagination):
page_size = 10
page_size_query_param = 'page_size'
def get_paginated_response(self, data):
return Response({"status": True,
"data": {
'results': data,
"meta": {
'page_count':self.page.paginator.num_pages,
'total_results': self.page.paginator.count,
'current_page_no': self.page.number,
'limit': self.page_size,
'last_page': self.page.has_next()
}}},
status=status.HTTP_200_OK)
即使我将查询参数设置为不同的值,page_size的输出始终为10。例如:如果用户在查询参数中设置page_size=2,则应该将其更改为2。在
编辑:
视图的代码
^{pr2}$
paginate_queryset()
将request
作为其第二个位置参数。需要request
,这样就可以从中得到page_size
。您没有传递
request
,所以我很想知道这个视图为什么工作——因为Python应该引发一个TypeError
,因为参数数量不正确。无论如何,请尝试更新代码,将
request
作为第二个参数传递:相关问题 更多 >
编程相关推荐