python – 模型的clean()方法和form的clean()方法之间有什么关系吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 模型的clean()方法和form的clean()方法之间有什么关系吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含978字,纯文字阅读大概需要2分钟。
内容图文
![python – 模型的clean()方法和form的clean()方法之间有什么关系吗?](/upload/InfoBanner/zyjiaocheng/795/dd6b0f85fa6d4b7dbc3f79b303ac4b58.jpg)
我已经覆盖了一些模型的clean()方法来构造约束以满足我的数据库模式要求(因为它需要这些验证的运行时信息).
从现在开始,我已经完成了大部分后端组件(模型,信号……),现在我正在尝试为我的模型编写ModelForms.
我想知道的是,模型的clean()方法和表单端的clean()实现之间是否有任何关系?
如果是这样,并且form的clean()调用model的clean(),我将不必重写我的模型 – side clean()实现,并且能够避免代码冗余.
解决方法:
是的,ModelForm清洁涉及模型清洁.这就是ModelForm的想法:有很多有用的默认值可以通过从模型中自动构建表单对象来确定.
我通过个人经验发现了这种干净的链接,但为了支持它,我可以参考来源.
在1.8上,ModelForms调用模型实例full_clean方法.在1.7,它直接调用clean方法.
Form.full_clean()
def full_clean(self):
# ..... snip
self._clean_fields()
self._clean_form()
self._post_clean()
ModelForm._post_clean为1.8
模型full_clean()在其他验证中调用clean():https://docs.djangoproject.com/en/1.8/ref/models/instances/
self.instance.full_clean(exclude=exclude, validate_unique=False)
ModelForm._post_clean为1.7
self.instance.clean()
内容总结
以上是互联网集市为您收集整理的python – 模型的clean()方法和form的clean()方法之间有什么关系吗?全部内容,希望文章能够帮你解决python – 模型的clean()方法和form的clean()方法之间有什么关系吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。