Проблема получения данных набора фильтров из MultipleChoiceFilter

Допустим, у меня есть следующий FilterSet:

class ReportFilter(django_filters.FilterSet):
    type = django_filters.MultipleChoiceFilter(field_name="type", lookup_expr='exact')

... и Клиент отправляет следующий запрос:

www.exmaple.com/reports/?type=1&type=2

Я хочу иметь возможность получить данные набора фильтров из фильтра множественного выбора в виде списка, т.е. сделать что-то вроде этого:

class ReportFilter(django_filters.FilterSet):
    ...

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        types = self.data["type"]        

Я ожидал, что types даст мне список [1, 2], но вместо этого я получаю строку 2. Странно то, что если я печатаю self.data из набора фильтров, он отображает то, что я ожидаю увидеть

<QueryDict: {'type': ['1', '2']}>

Есть мысли о том, что я делаю неправильно?

self.data является QueryDict, поэтому вы должны быть в состоянии использовать метод getlist для получения списка всех значений

types = self.data.getlist("type")
Вернуться на верх