我有一个表格,要求用户输入他们的邮政编码。一旦他们这样做,它就会将他们发送到另一个表单,其中有一个名为“pickup_date”的字段。这会从前一个字段中获取 zip 的值,并将与该邮政编码匹配的所有可用pickup_dates 获取到 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
来重新生成可能的选择,但它不默认为原始选择的选项。它返回并默认为第一选择。我怎样才能使它成为表单错误的默认选项是最初发布的?