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。