Odoo跨脚本导入函数启动时断言报错,刷新网站后恢复
Odoo导入模块报错解决方案
问题分析
报错提示Invalid import of custom_addons.invoice_integration.models.model.InheritAccountMove, it should start with 'odoo.addons',核心原因是导入路径未遵循Odoo模块规范:Odoo要求自定义模块的导入必须以odoo.addons.开头,或者使用同模块内的相对导入,而当前存在以custom_addons(模块存放目录)开头的绝对路径导入,触发了Odoo的路径校验断言。
解决步骤
排查并修正导入语句
找到所有导入InheritAccountMove的代码位置,替换为以下两种合法方式之一:- 同模块内相对导入(推荐,模块结构变更时更灵活):
from .model import InheritAccountMove - Odoo规范的绝对路径导入:
from odoo.addons.invoice_integration.models.model import InheritAccountMove
注意:
custom_addons是模块存放目录,不是Odoo识别的模块名,不能出现在导入路径中。- 同模块内相对导入(推荐,模块结构变更时更灵活):
验证addons_path配置
确保Odoo配置文件(odoo.conf)的addons_path参数包含custom_addons目录,例如:addons_path = /path/to/odoo/addons,/path/to/custom_addons这样Odoo才能正确识别
invoice_integration作为独立模块,而非custom_addons的子模块。
额外说明
启动时报错但刷新后功能正常,是因为Odoo启动阶段会严格校验模块导入路径,而运行时部分路径解析逻辑宽松。修正导入路径后,启动阶段的断言错误会消失。
内容的提问来源于stack exchange,提问作者Selman
相关产品推荐
相关产品推荐

