我只是很好奇,是否有人知道django的orm是否有充分的理由不对模型调用’full_clean’,除非将其保存为模型表单的一部分。
请注意,当你调用模型的save()方法时,不会自动调用full_clean()。要为自己创建的模型运行单步模型验证时,需要手动调用它。 django的完整档案
(注意:报价已针对Django 1.6更新…之前的django文档也对ModelForms提出了警告。)
人们为什么不希望这种行为有充分的理由?我想如果你花时间将验证添加到模型中,则希望每次保存模型时都运行验证。
我知道如何使一切正常工作,我只是在寻找一种解释。
FAIK,这是因为向后兼容。带有排除字段的ModelForms,具有默认值的模型,pre_save()信号等也存在问题。