Home > Mobile >  Request url without pagination django rest
Request url without pagination django rest

Time:01-12

All my sistem has pagination. I want request a single url without pagination, but as a request param, not in my remove in my application, because sometimes I want with pagination and sometimes without.

Anyone can help me?

CodePudding user response:

I did not get your question in 100%

But I think I can make you clear.

You can remove your pagination from your view if you do not using paginate_queryset method, specifically such classes as ModelViewSet or ReadOnlyViewSet, ListCreateAPIView, ListAPIView, ListModelMixin

You can use APIView or GenericAPIView and define get method and there put your logic without pagination

CodePudding user response:

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)
  • Related