在保存模型时,我有几个操作要执行,尤其是从管理员那里.我将几个字段大写,并判断以确保其中一个字段或另一个字段已填充.我还创建了field slug.现在,它们被划分为覆盖clean和save函数.它现在可以工作了,但我很好奇什么时候使用它们.我查阅了这些文件,但找不到具体的使用方法.
在保存模型时,我有几个操作要执行,尤其是从管理员那里.我将几个字段大写,并判断以确保其中一个字段或另一个字段已填充.我还创建了field slug.现在,它们被划分为覆盖clean和save函数.它现在可以工作了,但我很好奇什么时候使用它们.我查阅了这些文件,但找不到具体的使用方法.
您应该使用CLEAN来执行与验证相关的工作,并解析/更改/以其他方式清除输入.大写字段和生成插件可以在这里发生.我还使用CLEAN将类似post_type
的字段强制为代理模型中的特定值.如果你把django.core.exceptions.ValidationError('error text')
放在干净的里面,'error text'
就加到form.non_field_errors
上了.
保存是更改模型实际保存方式的位置.例如,我使用Save创建了一个上传图片的裁剪.ValidationError
岁的人如果在这里长大就不会被抓到,我觉得这是两者最重要的实际区别.