在我的Django模型中,当事情不应该发生时,我提出了一些验证错误。我正在使用clean()
方法进行此操作。效果很好,但是,如果要从外壳程序中保存,则必须事先调用full_clean()
方法,这还是可以的。它是这样的:
class MyModel(models.Model):
...
def clean(self):
if condition_1:
raise ValidationError({"field_1" : "Error regarding field 1."})
if condition_2:
raise ValidationError({"field_2" : "Error regarding field 2."})
super(MyModel, self).clean()
现在,我想在保存对象之前调用一个方法,该方法返回格式化错误,如下所示:
mymodel.get_validation_errors()
# Returns {"field_1" : "Error regarding field 1.", "field_2" : "Error regarding field 2."}
我当前的clean()
设置是否可行?如果不是,则常规的获取错误的方法是什么?谢谢!