我有一个不作为 HTML 页面的一部分呈现但验证输入的表单:
class milestone_form(forms.Form):
name = forms.CharField(required=True)
completion = forms.IntegerField(initial=0, required=False)
due_date = forms.DateField(required=True,input_formats={'%d.%m.%Y'})
phase = forms.IntegerField(required=True)
这个完成位会导致很多问题:
form = milestone_form(request.POST)
form.is_valid()#will return False on empty completion
当它为空时,我尝试覆盖表单的 clean() 以使完成 = 0:
def clean(self):
cleaned_data = self.cleaned_data
if cleaned_data.get('completion') is None:
cleaned_data['completion'] = 0
return cleaned_data
但是,它没有帮助。还有什么我想念的吗?