Odoo 11调试模式下访问设置仪表盘触发Action Error问题排查
这种情况在Odoo 11的调试场景里挺常见的,我帮你梳理几个最可能的原因和对应的排查方向:
调试模式下模块加载不完整
web_settings_dashboard.main这个客户端动作属于同名的web_settings_dashboard模块,而调试模式(debug=1)的资源加载逻辑和正常模式略有不同,可能出现模块未被正确加载的情况。你可以先到「应用」模块里搜索web_settings_dashboard,确认它处于已安装状态,之后尝试在调试模式下强制刷新页面,或者重启Odoo服务后再测试。自定义模块干扰了原有客户端动作
如果你的系统部署了自定义模块,很可能是某个模块不小心覆盖或破坏了web_settings_dashboard.main的定义——比如修改了ir.actions.client模型的记录,或者改动了相关的前端JS、控制器代码。排查时可以先临时禁用所有自定义模块,再在调试模式下测试是否恢复正常。如果没问题,再逐个启用自定义模块,定位到出问题的那个,重点检查它对系统设置相关资源的修改。缓存或静态资源异常
调试模式虽然会禁用部分缓存,但浏览器或Odoo服务器的静态资源缓存仍可能导致异常。你可以先清除浏览器缓存,或者到Odoo后台的「设置」→「技术」→「参数」→「系统参数」里,找到web.base.url.freeze这个参数并删除,之后重启Odoo服务再刷新页面。另外,也可以手动清理Odoo的静态资源缓存目录(比如addons/web/static下的缓存文件,或者服务器上的filestore缓存)。数据库记录损坏
极端情况下,数据库里的ir.actions.client记录可能损坏了。你可以用数据库工具(比如pgAdmin)连接到Odoo数据库,执行这条查询:SELECT * FROM ir_actions_client WHERE xml_id = 'web_settings_dashboard.main';如果这条记录不存在或者字段值异常,可以尝试重新安装
web_settings_dashboard模块来修复数据——注意操作前一定要备份数据库,避免丢失数据。
内容的提问来源于stack exchange,提问作者SkiBY

