def get_paginated_response(self, data):
return Response(OrderedDict([
('count', self.page.paginator.count),
('next', self.get_next_link()),
('previous', self.get_previous_link()),
('results', data)
]))
如上的get_paginated_response方法定义了分页器返回结果的形式。
如果需要自定义分页器:
class PageNum(PageNumberPagination):
page_size_query_param = 'pagesize'
max_page_size = 10
# 指定分页返回结果的方法
def get_paginated_response(self, data):
return Response({
'count': self.page.paginator.count,
'lists': data,
'page': self.page.number,
'pages': self.page.paginator.num_pages,
'pagesize': self.max_page_size
})
其中Response的参数要是不知道如何写,可以打上断点查看Variables。