如何修复’HttpRequest’对象在Odoo中没有属性’endpoint_arguments’?

How to fix 'HttpRequest' object has no attribute 'endpoint_arguments' in Odoo?

为我提供了数据库备份(带有文件存储),文件存储文件夹以及该数据库上具有已安装模块的另一个文件夹。

预计我将在Odoo 8中恢复该备份,而没有更多数据。因此,我要做的是创建拥有数据库表的PostgreSQL角色,并为其赋予足够的权限(登录,createdb和复制)。然后,我创建了一个Odoo配置文件。在其中,我在db_user中设置了这个新的PostgreSQL角色,在db_password中设置了它的密码。我在data_dir中添加了存储文件存储的路径,并在addons_path中添加了包含所有模块的文件夹的路径。

由于没有启动文件,因此我复制了我拥有的其他Odoo实例的OCB文件夹,并使用其odoo.py文件启动了Odoo。

新实例似乎运行良好,但是现在我刚刚还原了数据库,但出现此错误:

1
2
QWebException:"'HttpRequest' object has no attribute 'endpoint_arguments'" while evaluating
'website.get_alternate_languages(request.httprequest)'

我在Google上进行了很多搜索,但是除了其他论坛中未回答的问题之外,我什么都找不到。

有人知道这是怎么回事吗?


与此问题相关的更改于2016年2月29日在Odoo中进行了介绍(我的意思是以下更改:[FIX]网站:备用语言翻译的URL和[FIX]网站:的反向移植,您现在可以检查这些更改是也可以在Odoo 8.0官方代码库中找到)。
因此,很可能您使用了不包含上述修复程序的过时的Odoo 8.0服务器。请更新到最新的官方Odoo 8.0,然后检查问题是否仍然存在。通常,您的问题在更新后应该会消失。


当您移动备份数据库并且以后想要恢复它们时,请确保标记了从中进行备份的服务器文件的分支和提交点。我看了一下本地v8 oodoo,发现endpoint_arguments变量是在创建Web请求(第192行附近的openerp / http.py类WebRequest)时初始化的。

尽管您提到要在v8 OCB Odoo上还原数据库。如果浏览它们的分发并在提交时:

https://github.com/OCA/OCB/commit/3913667396e17075528108ac1031939e6f479ced#diff-5e2f434047c379642786a87195c806f9

您将看到缺少此变量,并且已经添加了它。因此,请确保您git pull服务器文件来获取该提交。

问题的根源在于,您从代码库与试图将数据库还原到的代码库不同的服务器上进行了备份。 (qweb文件正在搜索不存在的变量)