在我的Django表单中,我需要执行不同的字段值比较(一些额外的检查) . 如果满足所有这些条件,我想提出错误并通知用户他可以't perform this operation. Right now I'在 clean
方法中执行此操作,代码如下所示:
if self.instance.foo != cleaned_data['foo'] and \
Bar.objects.filter(baz=self.instance.id).count():
cleaned_data['foo'] = self.instance.foo
raise forms.ValidationError("You can't change it")
's working fine, but I' d也想拒绝更改并恢复以前的值(更新前) . 赋值 cleaned_data['foo'] = self.instance.foo
显然无效,因为由于引发ValidationError而未返回cleaning_data . 我怎样才能做到这一点?
1 回答
事实证明,您可以通过
self.data
访问字段的值 . 所以我最终做了self.data['foo'] = self.instance.foo
并且现在正在工作 .