gpt4 book ai didi

python - Django self.cleaned_data Keyerror

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:10 26 4
gpt4 key购买 nike

我正在写一个 Django 网站,我正在为一个表单编写我自己的验证:

class CreateJobOpportunityForm(forms.Form):
subject = forms.CharField(max_length=30)
start_date = forms.DateField(widget=SelectDateWidget)
end_date = forms.DateField(widget=SelectDateWidget)

def clean_start_date(self):
start_date = self.cleaned_data['start_date']
end_date = self.cleaned_data['end_date']
if start_date > end_date :
raise forms.ValidationError("Start date should be before end date.")
return start_date

但是当 start_date 小于 end_date 时它说:

KeyError at /create_job_opportunity
'end_date'

为什么它不能识别 'end_date' 键?

最佳答案

由于一个字段依赖于另一个字段,最好是在表单的 clean 方法中进行清理,而不是单独的 clean_field 方法。

def clean(self):
cleaned_data = super(CreateJobOpportunityForm, self).clean()
end_date = cleaned_data['end_date']
start_date = cleaned_data['start_date']
# do your cleaning here
return cleaned_data

否则,您必须确保您的 end_date 字段在 start_date 之前得到清理。

关于python - Django self.cleaned_data Keyerror,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21497497/

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