Django 说:“请注意,如果表单没有被验证,调用 save() 将通过检查 form.errors 来完成。如果表单中的数据没有验证 - 即如果 form.errors 评估,则会引发 ValueError为真。”
我无法清除的是
当我在 ModelForm 上调用 save 时会运行验证吗?
如果我已经使用 form.is_valid() 方法验证了表单数据,那么 save() 方法将再次进行验证。(我问这个是因为某些验证需要我对外键验证进行数据库查询,因为它有一些限制)
我问这个问题好像第一个问题是正确的,而不是我认为根本不进行验证而是只调用 save 方法,让它调用验证方法并捕获它是一个好主意。