【问题标题】:Internal Server Error in OdooOdoo 中的内部服务器错误
【发布时间】:2017-02-15 21:56:29
【问题描述】:

我正在使用 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) 它可以工作,但这个解决方案并不好,因为我总是必须在“插件”中删除我的错误模块。这需要很多时间和精力。

所以我期待一个更简单的解决方案。 非常感谢您的帮助

【问题讨论】:

  • 你是如何重启你的 Odoo 服务器的?请同时发布您用于重新启动服务器的命令行代码。

标签: python openerp odoo-10


【解决方案1】:

Odoo 将在其日志中使用堆栈跟踪生成更好的错误消息。您应该使用它来解决您的 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'

【讨论】:

  • 我们在哪里输入查询?
  • 在 pgAdmin3 等 postgres 的数据库 gui 工具中或使用 psql(postgres 的命令行客户端)
【解决方案2】:

假设您升级了模块并且遇到了内部服务器错误。您找到了错误所在,但您无法访问应该再次更新模块的屏幕。

首先,我认为如果在更新过程中发生错误,更新就不会完成。因此,如果您重新启动服务器,更新将再次运行,您的问题将得到解决。

如果您的模块没有以这种方式自动更新,只需重启服务器,同时更新您的模块,如./odoo-bin -u your_module

【讨论】:

  • -u 标志要求您使用-d database 指定数据库,其中database 是您希望为其更新模块的数据库的名称
【解决方案3】:

如果您使用./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 实例。

【讨论】:

  • 实际上,这个错误是由于我的 XML 或 py 文件中的错误而存在的,所以我必须在这些文件中修复它们,然后在“服务”中重新启动服务器 odoo。问题完全解决了。谢谢
  • 很高兴能帮上忙!
【解决方案4】:

实际上,由于我的 XML 或 py 文件中的错误而存在此错误,因此我必须在该文件中修复它们,然后在“服务”中重新启动服务器 odoo。问题完全解决了。谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-28
    相关资源
    最近更新 更多