我基於模型的數據定義ChoiceField。基於模型數據向ChoiceField添加「空」選項
field = forms.ChoiceField(choices=[[r.id, r.name] for r in Model.objects.all()])
不過,我想在前面加上我的選擇與空單選擇「否」的對象。 但我找不到一個很好的方式來預先說明這一點。
我所有的測試,如:
field = forms.ChoiceField(choices=[[0, '----------']].extend([[r.id, r.name] for r in Model.objects.all()]))
返回我 「NoneType對象不是可迭代」 的錯誤。 我發現到現在爲止唯一的辦法是:
def append_empty(choices):
ret = [[0, '----------']]
for c in choices:
ret.append(c)
return ret
當我定義我的領域:
forms.ChoiceField(choices=append_empty([[r.id, r.name] for r in
Restaurant.objects.all()]), required=False)
不過,我想保持我的代碼乾淨,沒有那種的恐怖。 你有想法嗎? :p 提前致謝。
Yay! :) 謝謝。它現在可以找到。 – 2009-09-16 10:15:26