我正在使用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"中删除我的错误模块。这需要花费大量的时间和精力。
所以我期待一个更简单的解决方案。 非常感谢您的帮助
答案 0 :(得分:0)
Odoo会在其日志中使用stacktrace生成更好的错误消息。您应该使用它来修复您的xml问题。
通常在更新(自定义)模块时会出现xml错误。因此,如果您可以访问数据库,例如使用psql,只需使用以下查询:
UPDATE ir_module_module SET state='installed' WHERE state='to upgrade'
如果尚未安装模块:
UPDATE ir_module_module SET state='uninstalled' WHERE state='to upgrade'
答案 1 :(得分:0)
我们假设您升级了模块,并且您遇到了内部服务器错误。您可以找到错误的位置,但无法访问您应该再次更新模块的屏幕。
首先,我认为如果在更新期间发生错误,则更新将不会完成。因此,如果您重新启动服务器,更新将再次运行,您的问题将得到解决。
如果您的模块没有以这种方式自动更新,只需在更新模块时重启服务器,如./odoo-bin -u your_module
。
答案 2 :(得分:0)
如果您使用./odoo-bin
启动/停止服务器,那么在您必须转到浏览器以获取内部服务器错误通知。
它看起来像这样:
当您的Odoo应用程序出现错误时,它将如下所示:
错误发生后,将出现Traceback (most recent call last):
,接下来将是导致错误的追溯或导致错误的原因。
回溯的最后一行是错误消息,在本例中为:AssertionError: The report...already exists.
。您可以搜索Google或StackOverflow上的特定错误,以获得错误的一些可能解决方案。
但是要回答你的问题,在收到此错误后你可以做的是点击CTRL+C
两次以杀死服务器。对模块进行必要的更改,然后使用-d
数据库标志和-u
标志重新启动模块以更新模块。
所以完整的命令看起来像:
./odoo-bin -d database_name -u module_name_1,module_name_2
等待服务器启动,然后如果没有收到错误,则可以转到浏览器加载Odoo实例。
答案 3 :(得分:-1)
实际上,由于我的XML或py文件中的错误而存在此错误,因此我必须在该文件中修复它们,然后在“service”中重新启动服务器odoo。问题完全解决了。感谢