加载tailor_management_sys模块报错:无法匹配model_tailor_production_target外部ID
解决步骤
1. 修正权限文件的模型引用
Odoo中模型的外部ID规则是model_加上模型_name的点替换为下划线,你的模型_name是tailor.production.target,对应外部ID为model_tailor_production_target,但如果Odoo无法识别本模块内的短引用,尝试添加模块名前缀:
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink access_tailor_production_target,tailor_production_target,tailor_management_sys.model_tailor_production_target,base.group_user,1,1,1,1
2. 确认manifest文件的加载顺序
确保__manifest__.py中data列表的加载顺序正确:模型相关文件(视图、模型定义)必须在权限文件之前加载,示例:
'data': [ # 优先加载模型视图(如果存在) 'views/tailor_production_target_views.xml', # 最后加载权限配置 'security/ir.model.access.csv', ], # 确保模型文件已正确声明 'models': [ 'tailor_production_target.py', ],
3. 验证模型文件的导入逻辑
- 模块根目录的
__init__.py需导入模型文件:from . import tailor_production_target - 若模型放在
models/子文件夹下,根目录__init__.py需先导入models模块:
同时from . import modelsmodels/__init__.py要导入具体模型:from . import tailor_production_target
4. 清除缓存并重装模块
- 停止Odoo服务
- 清除Odoo缓存(可通过后台"设置-技术-清除缓存",或删除对应数据库的filestore缓存文件)
- 重启服务后,卸载
tailor_management_sys模块再重新安装
内容的提问来源于stack exchange,提问作者Muhammad Awais
相关产品推荐
相关产品推荐

