Odoo14转15迁移报错KeyError: 'ir.model.data'求助
Odoo 14迁移至15:
web.assets_backend外部ID找不到的解决方法 问题根源
Odoo 15重构了前端资产打包体系,原Odoo 14中的web.assets_backend XML ID已被废弃拆分,模块继承该旧ID时会触发"外部ID不存在"的错误。
修复步骤
- 定位问题文件:找到报错中引用
web.assets_backend的XML文件(即包含<data inherit_id="web.assets_backend">的文件)。 - 替换继承ID:
根据你的需求选择对应替代ID:- 仅需基础后台运行资产:替换为
web.assets_backend_minimal - 需要完整后台扩展资产:替换为
web.assets_backend_extra
示例修改:
<!-- 原代码 --> <data name="Quick Reservation Summary" inherit_id="web.assets_backend"> <xpath expr="." position="inside"> <link rel="stylesheet" href="/hotel_reservation/static/src/css/room_summary.css"/> <script type="text/javascript" src="/hotel_reservation/static/src/js/hotel_room_summary.js"/> </xpath> </data> <!-- 修改后代码 --> <data name="Quick Reservation Summary" inherit_id="web.assets_backend_minimal"> <xpath expr="." position="inside"> <link rel="stylesheet" href="/hotel_reservation/static/src/css/room_summary.css"/> <script type="text/javascript" src="/hotel_reservation/static/src/js/hotel_room_summary.js"/> </xpath> </data> - 仅需基础后台运行资产:替换为
- 检查模块依赖:确保模块的
__manifest__.py中已添加web依赖,保证web模块优先加载:'depends': ['web', ...], # 保留其他原有依赖
内容的提问来源于stack exchange,提问作者odoo newbie
相关产品推荐
相关产品推荐

