清除未使用字段的位置:在模型中还是在表单中?

时间:2018-03-28 22:28:18

标签: django django-models django-forms

如果organization_name模型与组织无关但是个人合同,我应该在哪里清除未使用的数据字段(例如将Contract设置为空字符串?)

我应该在模型中还是在表单/模型中?

我希望清除未使用的数据字段,以便于比较两个模型实例的相等性(以便擦除的字段总是比较相等)。

我应该覆盖哪种方法来清除其中未使用的数据?我应该覆盖Model.save()方法吗?

1 个答案:

答案 0 :(得分:1)

这取决于您的预期行为,供您选择。

例如,如果您希望保留创建将organization_name设置为非空字符串的实例的能力,尽管是从控制台或其他界面手动签订个人合同,请将该逻辑放入{{1} }方法会阻止它。

但如果你想避免这种情况,那么Model.save()就是最好的选择。但是不要依赖于100%,除非你在数据库级别上检查它,否则总是有可能使它成为数据库的方式。