2011-02-28 68 views
0

我有一個動態的選擇欄:Django的choicefield iniital值問題

PASSENGER_TYPE_CHOICE = [(p.id, p.cabin.name) for p in flight.passengertype_set.all() if p.availableSeats > 0] 
self.fields['passenger_type'] = forms.ChoiceField(label=str(self.flight.code)+" Seat Type", initial=PASSENGER_TYPE_CHOICE[0][0],choices=PASSENGER_TYPE_CHOICE) 

請注意,我把一個初始值了。但是當我點擊這個表單的提交按鈕時,它會提出「這個字段是必需的」。當我點擊選擇字段並選擇一個選項時,它可以工作。但是,我真的必須先選擇,即使有初始值嗎?請幫忙?

回答

3

documentation說:要指定動態初始數據,請參閱Form.initial參數。

所以這應該做的伎倆:

form = MyPassengerForm(initial = {'passenger_type': PASSENGER_TYPE_CHOICE[0][0]})