我正在使用Odoo 10.0(python) . 每次我的源XML或python中都有错误时,这种情况总是存在:
我在Odoo官方页面上找到了一个解决方案:
(https://www.odoo.com/forum/help-1/question/internal-server-error-the-server-encountered-an-internal-error-and-was-unable-to-complete-your-request-either-the-server-is-ov-55081)它有效,但是这个解决方案并不好,因为我总是要在"addons"中删除我的错误模块 . 这需要花费大量的时间和精力 .
所以我期待一个更简单的解决方案 . 非常感谢你的帮助
4 回答
实际上,由于我的XML或py文件中的错误而存在此错误,因此我必须在该文件中修复它们,然后在“service”中重新启动服务器odoo . 问题完全解决了 . 谢谢
Odoo会在其日志中使用stacktrace生成更好的错误消息 . 您应该使用它来修复您的xml问题 .
通常,在更新(自定义)模块时会出现xml错误 . 因此,如果您可以使用psql访问数据库,只需使用以下查询:
如果尚未安装模块:
假设您升级了模块,并且遇到内部服务器错误 . 您可以找到错误的位置,但无法访问您应该再次更新模块的屏幕 .
首先,我认为如果在更新期间发生错误,更新将不会完成 . 因此,如果您重新启动服务器,更新将再次运行,您的问题将得到解决 .
如果您的模块没有以这种方式自动更新,只需在更新模块时重启服务器,如
./odoo-bin -u your_module
.如果您使用
./odoo-bin
来启动/停止服务器,那么在您必须转到浏览器以获取 Internal Server Error 通知之前,命令行实际上会警告您错误 .它看起来像这样:
当您的Odoo应用程序出错时,它将如下所示:
在错误之后,将会有
Traceback (most recent call last):
,以下将导致错误的追溯或导致错误的内容 .回溯的最后一行是错误消息,在本例中为:
AssertionError: The report...already exists.
. 您可以搜索Google或StackOverflow上的特定错误,以获得错误的一些可能解决方案 .但是要回答你的问题,在收到此错误后你可以做的是两次点击
CTRL+C
来杀死服务器 . 对模块进行必要的更改,然后使用-d
database标志和-u
标志重新启动模块以更新模块 .所以完整的命令看起来像:
./odoo-bin -d database_name -u module_name_1,module_name_2
等待服务器启动,然后如果没有收到错误,则可以转到浏览器加载Odoo实例 .