Django FilterSet, Count и Distinct

Я создаю пользовательский фильтр для модели, и я хотел бы иметь два optional boolean поля, которые бы изменяли способ создания набора запросов.

Одно булево для distinct, чтобы результатом были только уникальные значения, как в .distinct(), и другое булево для count, которое вместо этого вернет количество элементов, как в .count()

Я нашел это: https://django-filter.readthedocs.io/en/stable/ref/filters.html#distinct, но я не могу понять, как его использовать. Также я не нашел способа для count

Мой фильтр выглядит следующим образом:

class MyModelFilter(django_filters.FilterSet):
    class Meta:
        model = Inventory
        fields = (
            "service",
            "provider"
            "recorded_at",
            "tenant",
            "tenant_name",
            "project_system",
            "area",
            "environment",
            "region",
        )

    data_filter = django_filters.CharFilter(method="json_filter")

    def json_filter(self, queryset, name, value):
        string_to_json = json.loads(value)
        return queryset.filter(data__contains=string_to_json)
Вернуться на верх