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

Odoo 17如何在主界面搜索面板分类下添加自定义模块组

正确添加自定义模块分类到搜索面板“CATEGORIES”的方法

问题根源

直接修改Odoo核心base模块的ir_module_category_data.xml文件并更新base模块,会触发核心表ir_model_data的约束变更操作——该表在系统运行时被频繁访问,极易出现锁超时错误;同时你之前的XML代码中parent_id的ref引用错误(写成了module_custom_mymodule,实际应为module_category_mymodule)。

正确步骤

  1. 禁止修改核心模块:不要改动base模块的任何文件,所有自定义配置都放在你自己的模块中。
  2. 在自定义模块中创建分类:
    • 在你的自定义模块(比如专门用来管理分类的模块)的data目录下新建ir_module_category.xml文件,写入以下代码:
      <odoo>
          <!-- 创建父分类MyModule -->
          <record model="ir.module.category" id="module_category_mymodule">
              <field name="name">MyModule</field>
              <field name="sequence">150</field>
          </record>
      
          <!-- 创建子分类Child,关联到父分类 -->
          <record model="ir.module.category" id="module_child_category">
              <field name="name">Child</field>
              <field name="parent_id" ref="module_category_mymodule"/>
          </record>
      </odoo>
      
    • 在该模块的__manifest__.py中,将这个XML文件加入data列表:
      'data': [
          'data/ir_module_category.xml',
          # 其他数据文件路径
      ],
      
  3. 设置自定义模块的分类:在Module1、Module2、Module3的__manifest__.py中,设置category字段:
    'category': 'MyModule/Child',
    
  4. 更新模块:重启Odoo后,只需要更新你用来管理分类的自定义模块,以及需要归类的Module1、Module2、Module3即可,不要更新base模块。

修复之前的错误操作

如果已经修改了base模块的文件,先恢复base模块的原始ir_module_category_data.xml文件,避免后续更新base时再次出现问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 08:58:22