odoo selection 字段更新错误

由于设计上的问题,某模型的某个字段需要由最初的Selection字段变更成为Many2one。原本以为很简单的问题,却没想到宰了大跟头:

先看报错:

意思是在更新字段类型的时候需要将其中的某个值设置成no,但是我搜遍了代码中所有跟no相关的代码,全部干掉还是有这个问题。

之后又尝试 把整个模型注释掉,删掉字段的约束。通通无效。

无奈之际,看到了日志中的2853这个id,想必是存储在数据库中了。果然,当我把表ir_model_fields_selection中id为2853的行删掉以后,系统正常了。

总结,由此我们可以看出,odoo的Selection字段是会将Selection的值存储在表ir_model_fields_selection中的,当我们变更Selection字段类型的时候,一定要注意清空表中不合适的数据。

你的支持我的动力