from django_filters.rest_framework import DjangoFilterBackend
class ProductList(ListAPIView):
queryset = Products.objects.all()
serializer = ProductSerializer
filter_backends = (DjangoFilterBackend)
filter_fields = ('id',)
# to filtr on more we write get_queryset i.e a product is on sle or not in this case?
def get_queryset(self):
on_sale = self.request.get_params.get('on_sale',None) #getting 'on_sale' parameter
if on_sale is None:
return super().get_queryset()
queryset = Product.objects.all()
if on_sale.lower() == 'true':
from dajngo.utils import timezone
return queryset.filter(
sale_start__lte=now,
sale_start__gte=now,)
return queryset