Odoo res.users表单继承新增字段无报错不显示问题求助
排查步骤
- 检查模块根目录的
__init__.py文件,确认已经导入模型文件,添加如下内容:
90%的无报错字段不展示问题都源于忘记导入模型文件,Odoo不会自动加载未在from . import extendeduser__init__.py中声明的Python文件,你的模型定义未被识别的话,字段不会创建,视图中的对应字段会被自动静默忽略。 - 确认打开的是完整用户表单。res.users默认存在两套表单:普通用户右上角偏好设置打开的是简化表单,你继承的
base.view_users_form是管理员在「设置-用户与公司-用户」菜单打开的完整表单,仅后者会展示你新增的字段。如果需要在简化表单也展示,需继承base.view_users_form_simple_modif视图。 - 确认已重启Odoo服务并升级自定义模块。修改模型代码后必须重启服务才能生效,升级模块才会触发视图规则更新。
- 校验字段是否实际创建成功。开启Odoo开发者模式,进入「设置-技术-数据库结构-模型」,搜索
res.users,查看字段列表是否存在extended_variable。如果不存在,回到第一步检查导入逻辑。 - 调整视图继承优先级。在你的视图定义中添加优先级字段,确保你的继承规则优先级高于其他同模型视图:
该字段放在<field name="priority" eval="10"/>inherit_id字段下方即可。 - 测试XPath路径是否匹配。可临时修改XPath规则做测试,确认是否是原路径匹配失败导致的字段不展示:
如果修改后字段正常展示,说明原<xpath expr="//sheet" position="inside"> <field name="extended_variable"/> </xpath>//field[@name='partner_id']路径未匹配到目标节点,可调整对应XPath规则。 - 清除浏览器缓存或使用无痕模式访问。Odoo前端会缓存视图结构,缓存未更新时会看不到修改后的视图效果。
- 若需非管理员账号查看该字段,需配置对应权限:要么给目标用户组授予
res.users模型的读权限,要么给字段添加groups属性指定可见用户组。
内容的提问来源于stack exchange,提问作者blake_won
相关产品推荐
相关产品推荐

