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

Odoo模块本地启动失败:KeyError: '#id' 问题求助

解决Odoo模块启动KeyError: '#id'问题

错误根源分析

从报错堆栈可以明确,问题出在模块的CSV数据文件加载环节:Odoo在解析CSV数据时,尝试处理#id字段,但目标模型中不存在该字段,导致抛出KeyError。#id是Odoo用于定义外部标识符的特殊语法,不能作为普通模型字段使用,常见原因是CSV文件格式不符合Odoo数据导入规范。

具体解决步骤

  • 检查CSV文件表头:
    • 确认是否错误将#id作为普通字段名,#id仅用于指定数据的外部ID,需放在CSV第一列,格式为模块名.自定义ID(例如my_module.demo_partner),不能作为模型的常规字段。
    • 如果是关联其他记录(如Many2one字段),需使用字段名/id的格式引用外部ID,而非直接写#id。
  • 验证字段映射正确性:
    • 核对CSV中所有字段名与目标模型的实际字段完全一致,排除拼写错误或使用不存在的字段。
  • 检查CSV语法规范:
    • 确保CSV无语法错误,比如引号配对、逗号分隔正确,特殊字符内容需用双引号包裹。
    • 清理文件中的空行或无效数据行。
  • 排查模块依赖与加载顺序:
    • 确认模块依赖的其他模块已正确安装,避免因关联的外部ID未被创建导致加载失败。
  • 定位问题CSV文件:
    • 临时注释__manifest__.py中data列表内的CSV文件,重启模块。若能正常启动,说明问题出在被注释的CSV中,再针对性排查。

原始报错信息

Odoo Server Error
Traceback (most recent call last):
  File "E:\AppOdoo\odoo\http.py", line 1722, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "E:\AppOdoo\odoo\service\model.py", line 133, in retrying
    result = func()
  File "E:\AppOdoo\odoo\http.py", line 1749, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "E:\AppOdoo\odoo\http.py", line 1953, in dispatch
    result = self.request.registry['ir.http']._dispatch(endpoint)
  File "E:\AppOdoo\odoo\addons\base\models\ir_http.py", line 222, in _dispatch
    result = endpoint(**request.params)
  File "E:\AppOdoo\odoo\http.py", line 722, in route_wrapper
    result = endpoint(self, *args, **params_ok)
  File "e:\appodoo\addons\web\controllers\dataset.py", line 28, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "e:\appodoo\addons\web\controllers\dataset.py", line 20, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "E:\AppOdoo\odoo\api.py", line 468, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "E:\AppOdoo\odoo\api.py", line 453, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-77>", line 2, in button_immediate_install
  File "E:\AppOdoo\odoo\addons\base\models\ir_module.py", line 75, in check_and_log
    return method(self, *args, **kwargs)
  File "E:\AppOdoo\odoo\addons\base\models\ir_module.py", line 467, in button_immediate_install
    return self._button_immediate_function(self.env.registry[self._name].button_install)
  File "E:\AppOdoo\odoo\addons\base\models\ir_module.py", line 591, in _button_immediate_function
    registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "<decorator-gen-16>", line 2, in new
  File "E:\AppOdoo\odoo\tools\func.py", line 87, in locked
    return func(inst, *args, **kwargs)
  File "E:\AppOdoo\odoo\modules\registry.py", line 113, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "E:\AppOdoo\odoo\modules\loading.py", line 480, in load_modules
    processed_modules += load_marked_modules(env, graph,
  File "E:\AppOdoo\odoo\modules\loading.py", line 364, in load_marked_modules
    loaded, processed = load_module_graph(
  File "E:\AppOdoo\odoo\modules\loading.py", line 227, in load_module_graph
    load_data(env, idref, mode, kind='data', package=package)
  File "E:\AppOdoo\odoo\modules\loading.py", line 71, in load_data
    tools.convert_file(env, package.name, filename, idref, mode, noupdate, kind)
  File "E:\AppOdoo\odoo\tools\convert.py", line 623, in convert_file
    convert_csv_import(env, module, pathname, fp.read(), idref, mode, noupdate)
  File "E:\AppOdoo\odoo\tools\convert.py", line 665, in convert_csv_import
    result = env[model].with_context(**context).load(fields, datas)
  File "E:\AppOdoo\odoo\models.py", line 1184, in load
    if isinstance(model_fields[field_path[0]], odoo.fields.Many2one):
KeyError: '#id'

The above server error caused the following client error:
RPC_ERROR: Odoo Server Error
    RPCError@http://localhost:8069/web/assets/2df272c/web.assets_web.min.js:2871:319
    makeErrorFromResponse@http://localhost:8069/web/assets/2df272c/web.assets_web.min.js:2874:163
    jsonrpc/promise</<@http://localhost:8069/web/assets/2df272c/web.assets_web.min.js:2878:34

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 16:52:14