为什么’t django’的model.save()调用full_clean()?

问题:

我只是好奇,如果有人知道是否有很好的理由,为什么django的orm不会调用’full_clean’在模型,除非它被保存为模型形式的一部分。

请注意,当您调用模型的save()方法时,将不会自动调用full_clean()。当您想为自己手动创建的模型运行一步模型验证时,您需要手动调用它。 django’s full clean doc

(注意:Django 1.6的更新报价…以前的django文档也有关于ModelForms的注意事项。)
人们不希望这种行为有很好的理由吗?我想如果您花时间为模型添加验证,则希望在每次保存模型时都进行验证。
我知道如何让一切正常工作,我只是在寻找一个解释。

回答:

AFAIK,这是因为向后兼容。也有与排除字段的ModelForms,默认值的模型,pre_save()信号等)的问题。
你可能会注意的来源:

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Why doesn’t django’s model.save() call full_clean()?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 67 = 77