我在Django Rest框架中实现了“PageNumber”分页,该框架在本地运行良好。但是,部署在远程服务器上的相同代码不会返回带有分页的结果。
分页班:
class MyPagination(PageNumberPagination):
page_size = 10
page_size_query_param = 'page_size'
max_page_size = 20
使用分页查看:
class GetMyListings(generics.ListAPIView):
serializer_class = serializers.MyListingSerializer
pagination_class = utils.MyPagination
permission_classes = (
permissions.IsAuthenticated,
)
def get_queryset(self):
order_by_clause = self.request.GET.get('order_by', '-posted_on')
posted_clause = self.request.GET.get('posted', None)
if posted_clause:
return models.Post.objects.filter(owner=self.request.user,
is_posted=utils.make_boolean(posted_clause)
).order_by(order_by_clause)
return models.Post.objects.filter(owner=self.request.user).order_by(order_by_clause)
答案 0 :(得分:3)
问题已解决,DRF的本地版本为3.3.2
,因为服务器有3.1.0
,因为版本PageNumberPagination
或更高版本中允许使用3.3.2
中的自定义Django Paginator
供参考,请参阅发行说明: http://www.django-rest-framework.org/topics/release-notes/#332