Odoo从v12经OpenUpgrade迁移至v13后出现KeyError: 'last_path_node'
Odoo 12迁移至13后点击菜单触发Internal Server Error(KeyError: 'last_path_node')
问题详情
- 通过OpenUpgrade完成Odoo v12到v13的实例迁移,全程无报错
- 修改自定义模块代码后,执行以下命令更新模块,操作未出现错误:
python3 odoo-bin --addons-path="./addons, ./extra_addons, ./OCA/contract" -p 8069 -d database_name -u module_name
- Odoo实例可正常加载主界面,但点击主菜单元素(如「联系人」)时,页面弹出Internal Server Error,日志中出现
KeyError: 'last_path_node'报错
错误上下文
错误上下文:
视图App Drawer - Web Client
[view_id: 941, xml_id: web_responsive.webclient_bootstrap, model: n/a, parent_id: 178]
完整错误日志
2022-09-08 13:33:39,610 19400 INFO wimax13 werkzeug: 127.0.0.1 - - [08/Sep/2022 13:33:39] "GET /web HTTP/1.1" 500 - 386 0.534 1.152 2022-09-08 13:33:39,973 19400 ERROR wimax13 werkzeug: Error on request: Traceback (most recent call last): File "/home/ernesto/Programming/odoo/wimax13/lib/python3.6/site-packages/werkzeug/serving.py", line 270, in run_wsgi execute(self.server.app) File "/home/ernesto/Programming/odoo/wimax13/lib/python3.6/site-packages/werkzeug/serving.py", line 258, in execute application_iter = app(environ, start_response) File "/home/ernesto/Programming/odoo/wimax13/odoo/service/server.py", line 439, in app return self.app(e, s) File "/home/ernesto/Programming/odoo/wimax13/odoo/service/wsgi_server.py", line 142, in application return application_unproxied(environ, start_response) File "/home/ernesto/Programming/odoo/wimax13/odoo/service/wsgi_server.py", line 117, in application_unproxied result = odoo.http.root(environ, start_response) File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 1287, in __call__ return self.dispatch(environ, start_response) File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 1257, in __call__ return self.app(environ, start_wrapped) File "/home/ernesto/Programming/odoo/wimax13/lib/python3.6/site-packages/werkzeug/wsgi.py", line 766, in __call__ return self.app(environ, start_response) File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 1457, in dispatch result = ir_http._dispatch() File "/home/ernesto/Programming/odoo/wimax13/addons/website/models/ir_http.py", line 172, in _dispatch response = super(Http, cls)._dispatch() File "/home/ernesto/Programming/odoo/wimax13/addons/auth_signup/models/ir_http.py", line 19, in _dispatch return super(Http, cls)._dispatch() File "/home/ernesto/Programming/odoo/wimax13/addons/web_editor/models/ir_http.py", line 21, in _dispatch return super(IrHttp, cls)._dispatch() File "/home/ernesto/Programming/odoo/wimax13/addons/utm/models/ir_http.py", line 29, in _dispatch response = super(IrHttp, cls)._dispatch() File "/home/ernesto/Programming/odoo/wimax13/addons/http_routing/models/ir_http.py", line 519, in _dispatch result = super(IrHttp, cls)._dispatch() File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/ir_http.py", line 238, in _dispatch return cls._handle_exception(e) File "/home/ernesto/Programming/odoo/wimax13/addons/utm/models/ir_http.py", line 34, in _handle_exception response = super(IrHttp, cls)._handle_exception(exc) File "/home/ernesto/Programming/odoo/wimax13/addons/http_routing/models/ir_http.py", line 610, in _handle_exception return super(IrHttp, cls)._handle_exception(exception) File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/ir_http.py", line 206, in _handle_exception return request._handle_exception(exception) File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 750, in _handle_exception return super(HttpRequest, self)._handle_exception(exception) File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 310, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "/home/ernesto/Programming/odoo/wimax13/odoo/tools/pycompat.py", line 14, in reraise raise value File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/ir_http.py", line 234, in _dispatch result = request.dispatch() File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 809, in dispatch r = self._call_function(**self.params) File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 350, in _call_function return checked_call(self.db, *args, **kwargs) File "/home/ernesto/Programming/odoo/wimax13/odoo/service/model.py", line 94, in wrapper return f(dbname, *args, **kwargs) File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 342, in checked_call result.flatten() File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 1236, in flatten self.response.append(self.render()) File "/home/ernesto/Programming/odoo/wimax13/odoo/http.py", line 1229, in render return env["ir.ui.view"].render_template(self.template, self.qcontext) File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/ir_ui_view.py", line 1191, in render_template return self.browse(self.get_view_id(template)).render(values, engine) File "/home/ernesto/Programming/odoo/wimax13/addons/website/models/ir_ui_view.py", line 336, in render return super(View, self).render(values, engine=engine, minimal_qcontext=minimal_qcontext) File "/home/ernesto/Programming/odoo/wimax13/addons/web_editor/models/ir_ui_view.py", line 27, in render return super(IrUiView, self).render(values=values, engine=engine, minimal_qcontext=minimal_qcontext) File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/ir_ui_view.py", line 1199, in render return self.env[engine].render(self.id, qcontext) File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/ir_qweb.py", line 58, in render result = super(IrQWeb, self).render(id_or_xml_id, values=values, **context) File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/qweb.py", line 260, in render self.compile(template, options)(self, body.append, values or {}) File "<decorator-gen-54>", line 2, in compile File "/home/ernesto/Programming/odoo/wimax13/odoo/tools/cache.py", line 90, in lookup value = d[key] = self.method(*args, **kwargs) File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/ir_qweb.py", line 113, in compile return super(IrQWeb, self).compile(id_or_xml_id, options=options) File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/qweb.py", line 277, in compile element, document = self.get_template(template, options) File "/home/ernesto/Programming/odoo/wimax13/odoo/addons/base/models/qweb.py", line 364, in get_template path = options['last_path_node'] KeyError: 'last_path_node'
内容的提问来源于stack exchange,提问作者Ernesto Ruiz
相关产品推荐
相关产品推荐

