尝试在 Odoo 14 中保存常规选项时出错

Posted

技术标签:

【中文标题】尝试在 Odoo 14 中保存常规选项时出错【英文标题】:Error when trying to save general options in Odoo 14 【发布时间】:2021-08-17 18:47:31 【问题描述】:

当我尝试保存任何配置时,我收到以下错误:

错误:Odoo 服务器错误

ValueError:模型“res.config.settings”上的无效字段“recaptcha_public_key”

完整的跟踪如下:

    Odoo Server Error
Traceback (most recent call last):
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\addons\base\models\ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\http.py", line 683, in dispatch
    result = self._call_function(**self.params)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\http.py", line 359, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\service\model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\http.py", line 347, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\http.py", line 912, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\http.py", line 531, in response_wrap
    response = f(*args, **kw)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\addons\web\controllers\main.py", line 1389, in call_kw
    return self._call_kw(model, method, args, kwargs)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\addons\web\controllers\main.py", line 1381, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\api.py", line 394, in call_kw
    result = _call_kw_model_create(method, model, args, kwargs)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\api.py", line 374, in _call_kw_model_create
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-96>", line 2, in create
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\api.py", line 323, in _model_create_single
    return create(self, arg)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\addons\base\models\res_config.py", line 783, in create
    return super(ResConfigSettings, self).create(values)
  File "<decorator-gen-65>", line 2, in create
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\api.py", line 344, in _model_create_multi
    return create(self, [arg])
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\addons\base\models\ir_fields.py", line 533, in create
    recs = super().create(vals_list)
  File "<decorator-gen-13>", line 2, in create
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\api.py", line 345, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\models.py", line 3825, in create
    raise ValueError("Invalid field %r on model %r" % (key, self._name))
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\http.py", line 639, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files\Odoo 14.0.20210511\server\odoo\http.py", line 315, in _handle_exception
    raise exception.with_traceback(None) from new_cause
ValueError: Invalid field 'recaptcha_public_key' on model 'res.config.settings'

【问题讨论】:

【参考方案1】:

此消息仅仅是因为您尝试创建一条记录,并且在传递的值中创建它的一个字段已填充但模型中不存在。

但只有这个错误日志。我不能再帮你了。

可能的错误:

在您的文件夹模型的文件 __init__.py 中,您不导入文件(例如:from .import config) 在您模块的文件__init__.py 中,您不导入文件夹模型(来自.import models) 缺少依赖项,具有此字段的文件可能位于模块 1 中,您尝试在模块 2 中使用此字段创建记录,但模块 1 和模块 2 之间不存在依赖项。 这个字段的创建有问题。 模块更新错误。您添加了字段但不更新模块。 (-u your_module 或与接口)

【讨论】:

【参考方案2】:

在这里回答,那是因为缺少某些模块。使用recaptcha_public_key搜索odoo源代码可以看到模块名称为google_recaptcha

在您的系统打开应用程序页面中,搜索该模块并安装将解决您的问题。或者您可以通过下面的命令行安装它(之后需要重新启动服务器):

./odoo-bin -d &lt;yourdbname&gt; -i google_recaptcha

【讨论】:

正是这样的解决方案。

以上是关于尝试在 Odoo 14 中保存常规选项时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何在 set_values 方法 odoo 14 中保存 one2many 字段

在 Odoo 14 中使用 purchase.order.line 中的搜索功能时出错

保存核心数据时出错

我在尝试将 winforms 文本框值保存到连接的 MS 访问数据库时出错

尝试使用 localStorage 在 JavaScript 中保存和加载带有对象的数组时出错

尝试将文件路径保存到数据库时出错