近期在提供Odoo服务的时候,多次遇到升级模块产生view层面报错,核心问题是KeyError类型,字段找不到。
产生这种问题的情况有很多,尤其是我们在界面上查询所提示的不存在的字段,结果却是可以找到的。什么?你不知道在哪里查询?设置 - 技术 - 数据库结构 - 字段
这两天遇到的是:
1、模块依赖错误
你在升级的模块没有正确的依赖报错字段定义所在的模块。这种情况其实不容易发生,因为刚开始写模块的时候,你安装或升级是会有提示的。除非后续你为了某些功能而调整了模块的依赖。
2、手动更改了视图
Odoo是提供了手动更改视图的功能,但是视图通常是有多层继承的。
你点击一个菜单,所看到的界面,是多个视图文件组合而来。
所以,改可以,得找对改哪个文件,要关注上图的“继承的视图”,找对合适的地方,也就是你的字段定义在哪个模块,就写到那个模块中所定义的视图上。
上图,我为什么要标出黄色的背景?