Есть ли способ сделать выпадающий флажок с django-фильтром и указанием местоположения для города из города-света - PullRequest
0 голосов
/ 03 января 2019

Я создаю флажок раскрывающегося списка с django-фильтром, который мне удалось создать для некоторых полей с возможностью выбора, но я не могу получить База данных информации для сити-лайтов городов. Когда поставить город для При выборе значения я получаю эту ошибку:

*

TypeError в / City 'объект не повторяется

этот раздел отлично работает:

        CITY_CHOICES = (
            ('city1','city1'),
            ('city2','city2'),
        )

        class PostFilter(filters.FilterSet):
            location = filters.MultipleChoiceFilter(field_name='location', choices=CITY_CHOICES, widget=forms.CheckboxSelectMultiple())
            class Meta:
                model = Post
                fields = ['location']

этот проблемный раздел:

from cities_light.models import City

class PostFilter(filters.FilterSet):
    location = filters.MultipleChoiceFilter(field_name='location', choices=City, widget=forms.CheckboxSelectMultiple())
    class Meta:
        model = Post
        fields = ['location']

Я ожидаю таких же результатов для выбора моего города. Как я могу продолжить делать это

1 Ответ

0 голосов
/ 03 января 2019

Я думаю, что вы можете использовать ModelMultipleChoiceField вместо этого, потому что вы используете City, который является моделью. Как это:

class PostFilter(filters.FilterSet):
    location = filters.ModelMultipleChoiceFilter(queryset=City.objects.all())
    class Meta:
        model = Post
        fields = ['location']
...