请求没有分页的url django rest

ih99xse1  于 2023-01-22  发布在  Go
关注(0)|答案(2)|浏览(106)

我所有的系统都有分页。我想请求一个没有分页的URL,但是作为一个请求参数,不在我的应用程序中删除,因为有时我想有分页,有时没有。
有人能帮我吗?

zpjtge22

zpjtge221#

我没有完全理解你的问题
但我想我可以让你明白。
如果不使用paginate_queryset方法,特别是ModelViewSetReadOnlyViewSetListCreateAPIViewListAPIViewListModelMixin等类,则可以从视图中删除分页
您可以使用APIViewGenericAPIView并定义get方法,然后将您的逻辑放在那里而不分页

v440hwme

v440hwme2#

def list(self, request, *args, **kwargs):
    queryset = self.filter_queryset(self.get_queryset())
    if (queryset some condition):  # here you can send data without paginate or in else it will automatically paginate the result
        serializer = self.get_serializer(queryset, many=True)
        return Response(serializer.data)
    else:    
        page = self.paginate_queryset(queryset)
        if page is not None:
            serializer = self.get_serializer(page, many=True)
            return self.get_paginated_response(serializer.data)
    serializer = self.get_serializer(queryset, many=True)
    return Response(serializer.data)

相关问题