首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ModelForm验证

ModelForm验证
EN

Stack Overflow用户
提问于 2013-05-03 19:45:08
回答 1查看 398关注 0票数 1

Django说:“注意,如果表单未被验证,调用save()将通过检查form.errors来实现。如果表单中的数据不验证,即如果form.errors的计算结果为True,则会引发ValueError。”

我不能排除的是

  • 当我调用ModelForm上的保存时,验证会运行吗?
  • 如果我已经使用form.is_valid()方法验证了表单数据,那么save()方法将再次进行验证。(由于某些验证要求我对外键验证执行数据库查询,因为它有一些限制)。

我问这个问题时,好像第一个问题是真的,而不是我认为完全不进行验证,而只是调用save方法,让它调用验证方法和捕捉它是一个好主意。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-03 19:52:16

第一个问题-是的。正如文档所述,调用save()将访问form.errors,如果表单尚未验证,这将触发验证。

第二个问题--不,验证将不再运行。一旦验证了表单,无论是通过调用is_valid()还是通过调用.save(),form.errors都会被填充,并且可以在不需要重新运行验证的情况下读取。

无论采用哪种方法,验证都将只运行一次。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16366444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档