Django选择领域的价值问题

时间:2011-02-28 07:05:54

标签: django default choicefield

我有一个动态选择字段:

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)

请注意,我为其设置了初始值。但是当我单击此表单的提交按钮时,它会引发“此字段是必需的”。当我单击选择域并选择一个选项时,它可以工作。但是,即使有初始值,我是否真的必须先选择?请帮帮忙?

1 个答案:

答案 0 :(得分:3)

documentation说:要指定动态初始数据,请参阅Form.initial参数。

所以这应该可以解决问题:

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