Фильтрация в моем проекте не работает (django restframework)

Я создаю API на django и пытался внедрить фильтрацию в систему, но опция фильтрации просто возвращает весь список. Ниже приведены мои коды

view.py

from unicodedata import name
from django.shortcuts import render, get_object_or_404
from rest_framework import generics, status
from rest_framework.response import Response
from django_filters.rest_framework import DjangoFilterBackend
from .serializers import DailySalesSerializer, DailySalesCreateSerializer
from .models import DailySales

# Create your views here.

class DailySalesListView(generics.GenericAPIView):
    serializer_class = DailySalesSerializer
    queryset = DailySales.objects.all()
    name = 'Daily Sales List'
    filter_backends = (DjangoFilterBackend,)

    filterset_fields = ('id', 'customername','havepaid', 'datesold', 'itemsold')

    def get(self, request):
        sales = DailySales.objects.all()
        serializer = self.serializer_class(instance=sales, many=True)
        return Response(data=serializer.data, status=status.HTTP_200_OK)

Я также добавил django_filters в свой settings.py

Вы не используете фильтры, если вы перезаписываете ответ get таким образом, вы должны изменить

sales = DailySales.objects.all()

to

sales = self.filter_queryset(self.get_queryset())

или даже лучше удалить свой метод get и наследовать от ListModelMixin, чтобы Django сделал листинг и сериализацию за вас

Вернуться на верх