Фильтрация в моем проекте не работает (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 сделал листинг и сериализацию за вас