保存模型时,我需要执行一些操作,尤其是从管理员那里执行。我将几个字段大写并检查以确保其中一个字段或另一个字段已填充。我还创建了场蛞蝓。现在,这些功能被分为覆盖清理和保存功能。它现在可以使用,但我很好奇何时使用它们。我浏览了文档,但找不到具体何时使用哪个。
您应该使用 clean 来执行与验证相关的工作,并解析/更改/以其他方式清理输入。大写字段并生成 slug 可以在这里发生。我也使用 clean 来强制一个像这样的字段post_type
到代理模型中的特定值。如果你加注django.core.exceptions.ValidationError('error text')
里面干净整洁,'error text'
被添加到form.non_field_errors
.
保存是更改模型实际保存方式的地方。例如,我使用保存来创建上传图片的裁剪。ValidationError
如果在这里提出,则不会被捕获,我觉得这是两者之间最重要的实际区别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)