2015-11-30 19 views
0

我有一个模型University,它有一个字段city。我试图建立一个表格,用户可以选择城市或大学。大学选择罚款:构建要通过表单呈现的元组

universities = University.objects.all() 
university = forms.ModelMultipleChoiceField(widget=CheckboxSelectMultiple, queryset=universities) 

的方法,我试图让城市是什么原因造成了我的问题。这是我目前有:

cities = [] 
    for uni in universities: 
     cities.append(uni.city) 
    cities = tuple(cities) 

    city_select = forms.MultipleChoiceField(widget=CheckboxSelectMultiple, choices=cities) 

这给我的错误too many values to unpack因为多元组没有钥匙配对。有没有更简单的方法来回报我收集的选择,我觉得我正在以错误的方式去解决。如果不是,我如何密钥对城市的元组?

回答

0

我认为像下面一个简单的变化,其中cities每个条目是一个元组应该使这项工作:

cities = [] 
    for uni in universities: 
     cities.append((uni.city, uni.city)) 
    cities = tuple(cities) 

    city_select = forms.MultipleChoiceField(widget=CheckboxSelectMultiple, choices=cities) 
1

MultipleChoiceField不希望一个元组,想要一个查询集。你可以用values_list得到你想要的领域之一:

city_select = forms.MultipleChoiceField(widget=CheckboxSelectMultiple, queryset=University.objects.values_list('id', 'city')) 
相关问题