自定义过滤器在 django rest 框架中不起作用

时间:2021-02-16 16:41:38

标签: python django api filter django-rest-framework

我制作了一个名为 Productfilter 的自定义过滤器并将其导入到我的视图中。它一直工作到几天前,但现在已经完全停止工作。我尝试传递过滤器中包含的查询参数,但所有对象都显示为 API 端点中不包含任何查询参数。

我的观点:

class ProductAPIView(ListAPIView):
    permission_classes = [AllowAny]
    queryset = Product.objects.all()
    serializer_class = ProductSerializer
    # filter_backends = [DjangoFilterBackend]    
    filterset_class = ProductFilter

我的过滤器:

from django_filters import rest_framework as filters
from ..models import *


class ProductFilter(filters.FilterSet):
   price = filters.RangeFilter()

   class Meta:
      model = Product
      fields = ['price','availability',
                       'warranty', 'services',
                'brand__id','category__id','collection__id']

我的网址:

path('api/products', views.ProductAPIView.as_view(), name='api-products'),

我的序列化程序:

class ProductSerializer(serializers.ModelSerializer):
    class Meta:
        model = Product
        fields = ['id',
            'category','brand','collection','featured',
            'best_seller','top_rated','name',
            'description','picture','price','size',
            'color','quantity','availability','warranty',
            'services',
        ]
        # lookup_field = "slug"
        depth = 1

0 个答案:

没有答案