我有一个动态选择字段:
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)
请注意,我为其设置了初始值。但是当我单击此表单的提交按钮时,它会引发“此字段是必需的”。当我单击选择域并选择一个选项时,它可以工作。但是,即使有初始值,我是否真的必须先选择?请帮帮忙?
答案 0 :(得分:3)
documentation说:要指定动态初始数据,请参阅Form.initial参数。
所以这应该可以解决问题:
form = MyPassengerForm(initial = {'passenger_type': PASSENGER_TYPE_CHOICE[0][0]})