首页 文章

Django形式:在clean方法中恢复预定义的字段值

提问于
浏览
0

在我的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 回答

  • 0

    事实证明,您可以通过 self.data 访问字段的值 . 所以我最终做了 self.data['foo'] = self.instance.foo 并且现在正在工作 .

相关问题