I have a very simple APIView, but I don't know how to setup pagination here. In this scenario I create a CustomPagination.
pagination_class = CustomPagination works OK when I define queryset at the beginning in generics.ListAPIView
, for ex. queryset = Event.objects.all() but not with custom get:
views.py:
class ProductAPIView(APIView):
def get(self, request):
pagination_class = CustomPagination
data = Product.objects.filter(status=1)
product_serializer = ProductSerializers(data,many=True)
productData=[]
for record in product_serializer.data:
value = json.dumps(record)
temp = json.loads(value)
_id = temp['id']
title = temp['title']
sub_title = temp['sub_title']
productData.append({"id":_id, "title":title, "sub_title":sub_title})
return Response({"productData":productData})
pagination.py:
from rest_framework.pagination import PageNumberPagination
class CustomPagination(PageNumberPagination):
page_size = 1
page_size_query_param = 'page_size'
max_page_size = 1000