Skip to main content
 首页 » 编程设计

python之Django REST Framework 分页无法在远程服务器上运行

2024年08月23日27davidwang456

我在 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) 

请您参考如下方法:

问题已解决,DRF 的本地版本为 3.3.2,而服务器的版本为 3.1.0,因为允许 PageNumberPagination 中的自定义 Django 分页器在 3.3.2 或更高版本中。

有关引用,请参阅发行说明: http://www.django-rest-framework.org/topics/release-notes/#332