我只是好奇是否有人知道 django 的 orm 是否有充分的理由不对模型调用“full_clean”,除非它被保存为模型表单的一部分。
请注意,当您调用模型的 save() 方法时,不会自动调用 full_clean()。当您想为自己手动创建的模型运行一步模型验证时,您需要手动调用它。 django 的完整文档
(注意:为 Django 1.6 更新了引用…以前的 django 文档也对 ModelForms 提出了警告。)
人们是否有充分的理由不想要这种行为?我认为如果您花时间向模型添加验证,您会希望每次保存模型时都运行验证。
我知道如何让一切正常工作,我只是在寻找解释。
AFAIK,这是因为向后兼容。具有排除字段的 ModelForms、具有默认值的模型、pre_save() 信号等也存在问题。
您可能感兴趣的来源: