django一次清理多个字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django一次清理多个字段相关的知识,希望对你有一定的参考价值。
我有一个包含开始日期和结束日期的表单。如何清理表单,以便结束日期在开始日期之后。我可以清理一个字段,但不确定如何在将字段与另一个字段进行比较时清理字段。此外,当这出错时,我希望能够在{{ form.end_date.errors }}
中进行错误渲染,而不是一般部分。有没有办法用forms.ValidationError
做到这一点
class ContractChangeForm(forms.ModelForm):
...
def clean(self):
start_date = self.cleaned_data['start_date']
end_date = self.cleaned_data['end_date']
if end_date < start_date:
raise forms.ValidationError(u'Error: The ending date must come after the starting date.',code='invalid_date')
return end_date
答案
您可以使用add_error()
方法将错误附加到特定字段:
if end_date < start_date:
self.add_error('field_name','Error text message....')
另一答案
你可以通过传递dict
raise forms.ValidationError({'end_date': u'Error: The ending date must come after the starting date.'})
以上是关于django一次清理多个字段的主要内容,如果未能解决你的问题,请参考以下文章