过滤在我的项目不工作(django restframework)



我正在用django构建api,我一直在尝试实现过滤到系统中,但过滤器选项只是带回了所有的列表。下面是我的代码

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()

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

或者删除你的get方法,从ListModelMixin继承,这样Django会为你做清单和序列化

最新更新