Django Rest filter и filerset_class не работают в методе пользовательского действия

У меня проблемы с работой класса filterset_class в методе действия моего представления. Когда я фильтрую данные в /api/measurement/aggregated_data, все работает нормально, но мне нужно использовать эти фильтры и в методе действия, чтобы я мог загрузить результаты. Вот мой views.py:

class AggregatedDataViewSet(ReadOnlyModelViewSet):
    serializer_class = AggregatedDataSerializer
    queryset = AggregatedData.objects.all()
    filter_backends = [DjangoFilterBackend, OrderingFilter, SearchFilter]
    filterset_class = AggregatedDataFilter
    search_fields = ['parameter__measurand__name', 'river_site__lawa_code']
    
    @action(detail=False, methods=['get'], url_path='download')
    def download(self, request, *args, **kwargs):
        qs = self.filterset_class(self.get_queryset())
        # rest of the code...

Я применяю фильтры в filterset_class в /api/measurement/aggregated_data и url тоже меняется и будет выглядеть примерно так:

http://127.0.0.1:8003/api/measurement/aggregated_data/?parameter__lawa_code=1234&sample_medium=&sampling_type=&year_from=2015&year_to=2015&river_site=BVNM

Когда я нажимаю на действие загрузки, qs возвращает все данные, поэтому фильтры не применяются. Я хочу, чтобы эти фильтры в url применялись и к методу загрузки, но он почему-то их не распознает. Что здесь не так и как лучше всего сделать то, что я ожидаю?

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