我使用django-filter创建了一个下拉列表复选框, 使用选择选项为某些字段创建,但是我无法检索 城市轻型城市的数据库信息。当把城市 选择值,出现此错误:
*
/ p“城市”对象中的TypeError不可迭代
本节工作正常:
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']
我希望城市选择的结果相同。我该怎么做
答案 0 :(得分:0)
我认为您可以改用ModelMultipleChoiceField,因为您使用的是模型City
。像这样:
class PostFilter(filters.FilterSet):
location = filters.ModelMultipleChoiceFilter(queryset=City.objects.all())
class Meta:
model = Post
fields = ['location']