Pagination in Django-Rest-Framework using API-View

后端 未结 4 816
刺人心
刺人心 2020-12-08 08:34

I currently have an API view setup as follows:

class CartView(APIView):
    authentication_classes = [SessionAuthentication, TokenAuthentication]
    permiss         


        
4条回答
  •  渐次进展
    2020-12-08 09:08

    I am using DRF version 3.6.2. You don't need to code so much. Just use this simple steps.

     class ProductPagination(PageNumberPagination):
            page_size = 5
    
        class product_api(generics.ListCreateAPIView):    
                queryset = Products.objects.all()
                serializer_class = product_serilizer
                pagination_class = ProductPagination
    

    if you want search functionality by getting method, you can write below code

    class ProductPagination(PageNumberPagination):
            page_size = 5
    
    class product_api(generics.ListCreateAPIView):
        queryset = Products.objects.all()
        serializer_class = product_serilizer
        pagination_class = SearchProductPagination    
    
        def get_queryset(self):
            qs = super(product_search_api,self).get_queryset()
            searched_product = self.request.query_params.get('searched_product',None)
            if search:
                qs = Products.objects.filter(Q(product_name__icontains= searched_product))
            return qs
    

提交回复
热议问题