Я пытаюсь отфильтровать данные с помощью действия декоратора в Django Rest Framework, оно отлично работает, если я использую глобальный набор запросов (функция get_queryset ()), но мне нужно использовать его в отдельной функции.
Я использую django-фильтр для его выполнения. Это код.
Мой взгляд:
class ShippingAPI(viewsets.ModelViewSet):
serializer_class = ShippingSerializer
filter_backends = (DjangoFilterBackend,)
filter_fields = ('origin__department', 'destination__department', 'first_collection_date', 'last_collection_date', 'vehicle')
Переопределение (действие)
@action(detail=False, methods=['GET'])
def filter_shippings(self, request, **kwargs):
queryset = Shipping.objects.filter(status=2, orderStatus=0)
serializer = SearchShippingSerializer(queryset, many=True) #Yes, I am using another serializer, but it is solved,I use diferent if it is necesary
return Response(serializer.data)
После использования моего URL 'api / filter_shipping / (все фильтры здесь)', он по-прежнему возвращает все данные без фильтров, которые я запрашиваю.
Спасибо за вашу помощь