You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo同模块下XML视图groups参数是否必须声明模块名?

关于Odoo XML视图中权限组引用的问题

1. 必须使用全限定外部ID,即使同属一个模块

是的,哪怕你的视图和group_vote_user权限组都在ideas_app模块里,你仍然需要写成groups="ideas_app.group_vote_user"。

Odoo的外部ID(External ID)系统是全局生效的,它不会自动默认当前模块作为前缀。当你在XML里只写group_vote_user时,Odoo会尝试在全局范围内查找这个未加前缀的外部ID,而因为没有明确指定模块,它无法定位到你模块里的那个权限组,所以会抛出“External ID must be fully qualified”的错误。

2. 不存在类似this.group_vote_user的简写方式

很遗憾,在Odoo的XML视图定义中,并没有这种基于当前模块的简写语法。你必须始终使用模块名.外部ID的全限定格式来引用权限组(以及其他任何需要通过外部ID引用的资源,比如菜单、动作、模型视图等)。

不过补充一点:如果是在Python代码中,你可以利用self.env.ref()方法,当只传入外部ID而不带模块前缀时,它会默认在当前模块的命名空间下查找(前提是你在对应的模块代码中调用)。比如:

vote_group = self.env.ref('group_vote_user')

但这种便利只适用于Python代码,XML里没有对应的机制。


内容的提问来源于stack exchange,提问作者Bazz B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:32:28