gpt4 book ai didi

使用具有动态值的 MaxValueValidator 进行 Django 表单验证

转载 作者:行者123 更新时间:2023-12-04 05:51:07 25 4
gpt4 key购买 nike

我有一个表单,它以开始日期和结束日期作为输入。我需要设置有效范围,但这取决于另一个字段,站点。像这样:

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 值。

非常感谢任何帮助。

最佳答案

您不能在字段定义中执行此操作,因为每个字段都是单独验证的。但是,你可以写一个 custom clean method为您检查开始日期和结束日期的表格。

关于使用具有动态值的 MaxValueValidator 进行 Django 表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10036478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com