開始日と終了日を入力に使用するフォームがあります。有効な範囲を設定する必要がありますが、別のフィールド、サイトに依存しています。そのような:動的値を持つMaxValueValidatorを使用したDjangoフォームの検証
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値を生成します。
ご迷惑をおかけして申し訳ございません。