Django Фильтр остальной рамки не работает. Всегда предоставлять полный набор запросов или данные по любому запросу фильтра - PullRequest
0 голосов
/ 05 мая 2020

Я создаю API-интерфейс фильтра, но независимо от того, какой фильтр я применяю, он не дает мне никакого результата.

class filter_dataset(ListCreateAPIView):
filter_class = ProductFilter
serializer_class = AdjustDatasetSerializers
filter_backends = (filters.DjangoFilterBackend,)
filter_fields = ('revenue', 'spend', 'OS', 'date')

def get_queryset(self):
    dataset = Dataset.objects.all()
    return dataset

def get(self, request):
    dataset = self.get_queryset()
    serializer = self.serializer_class(dataset, many=True)

    return Response(serializer.data, status=status.HTTP_200_OK)

модели:

from django.db import models

class Dataset(models.Model):
    date = models.DateTimeField(max_length=255,auto_now_add=True)
    channel = models.CharField(max_length=255,null=True, blank=True)
    OS = models.CharField(max_length=255,null=True, blank=True)
    impressions = models.CharField(max_length=255,null=True, blank=True)
    clicks = models.CharField(max_length=255,null=True, blank=True)
    installs = models.CharField(max_length=255,null=True, blank=True)
    spend = models.CharField(max_length=255,null=True, blank=True)
    revenue = models.CharField(max_length=255,null=True, blank=True)

Класс фильтра:

class ProductFilter(filters.FilterSet):
    revenue = filters.NumberFilter(field_name="revenue")
    spend = filters.NumberFilter(field_name="spend")
    OS = filters.CharFilter(field_name='OS', lookup_expr='OS__exact')
    date = filters.DateFromToRangeFilter(field_name='date')

    class Meta:
        model = Dataset
        fields = ['revenue', 'spend', 'OS', 'date']

На django отображаются поля фильтра остальной структуры, но независимо от того, что вы вводите в поле, это не дает никаких результатов. Все были показаны все данные. Я застрял в этом, потребуется любая помощь.

...