我有一個要求用戶輸入其郵政編碼的表單。一旦他們這樣做,將他們發送到另一個表單,其中有一個名爲'pickup日期'的字段。這會從前一個字段獲取zip的值,並將所有可用的pickup代碼與該郵政編碼匹配到ChoiceField中。我將所有這些設置在模型表格的init之內。設置動態選擇字段的默認值
def __init__(self,*args,**kwargs):
super(ExternalDonateForm,self).__init__(*args,**kwargs)
if kwargs:
zip = kwargs['initial']['zip']
self.fields['pickup_date'] = forms.ChoiceField(choices = self.get_dates(zip))
elif self.errors:
zip = self.data['zip']
self.fields['pickup_date'] = forms.ChoiceField(choices = self.get_dates(zip))
我遇到的問題是當窗體上有其他錯誤。我使用elif self.errors
重新生成可能的選項,但它不會默認爲原始選定選項。它返回並默認爲第一選擇。我該如何做到這一點,因此它是表單錯誤的默認選項是最初發布的內容?
沒有骰子 - 從表格中刪除