0
在我的Django表單中,我需要執行不同的字段值比較(+一些額外的檢查)。如果滿足所有這些條件,我想提出錯誤並通知用戶他不能執行此操作。現在我做的clean
方法和代碼看起來像這樣:Django表單:在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")
這是工作正常,但我也想拒絕更改並恢復先前的值(更新之前)。分配cleaned_data['foo'] = self.instance.foo
顯然不工作,因爲由於引發了ValidationError而未返回cleared_data。我怎樣才能做到這一點?