我有一个将开始日期和结束日期作为输入的表单。我需要设置有效范围,但这取决于另一个字段,站点。像这样:
class GraphForm(forms.Form):
site = forms.ChoiceField(choices=SITE_CHOICES, label=ugettext_lazy('Site'),
widget=forms.Select(attrs={"onChange":'filterField()'})
)
startdate = forms.DateField(
label=ugettext_lazy('Start Date'),
validators=[MaxValueValidator(maxdate)],
)
enddate = forms.DateField(
label=ugettext_lazy('End Date'),
validators=[MaxValueValidator(maxdate)],
)
...
maxdate
但我只能在选择站点时获得一个值:
getdate = Reports.objects.filter(site=site_name).values('recorded_on').order_by('-recorded_on')[:1]
maxdate = getdate[0]['recorded_on']
我的问题是如何实现此功能 - 我获取站点输入,然后在表单验证之前生成我的 maxdate 值。
非常感谢任何帮助。