2015-11-30 17 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')) 
相關問題