在Django中以格式字典的形式获取验证错误

时间:2018-10-26 09:17:47

标签: django django-models django-validation

在我的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()设置是否可行?如果不是,则常规的获取错误的方法是什么?谢谢!

0 个答案:

没有答案