小编典典

为什么django的模型.保存()调用full_clean()?

python

我只是好奇是否有人知道django的orm有什么理由不在模型上调用“full\u clean”,除非它被保存为模型表单的一部分。
请注意,调用模型的save()方法时,不会自动调用full\ u clean()。当您要为自己手动创建的模型运行一步模型验证时,需要手动调用它。django完全干净的医生
(注:Django 1.6的报价已更新。。。以前的django文档也对ModelForms提出了警告。)
有没有充分的理由让人们不喜欢这种行为?我认为,如果您花时间向模型添加验证,您会希望每次保存模型时都运行验证。
我知道如何让一切正常运转,我只是想找个解释。


阅读 239

收藏
2020-12-20

共1个答案

小编典典

好吧,这是因为向后兼容。带有排除字段的ModelForms、带有默认值的模型、pre\u save()信号等也存在问题。
您可能感兴趣的来源:
http://code.djangoproject.com/ticket/13100
http://groups.google.com/group/django-developers/browse_frm/thread/b888734b058778f87

2020-12-20