Odoo 15 Inherit "product.product" 获取错误查询:ALTER TABLE "product_product" ALTER COLUMN "base_unit_count" DROP NOT NULL

Odoo 15 Inherit "product.product" get issue bad query: ALTER TABLE "product_product" ALTER COLUMN "base_unit_count" DROP NOT NULL

[已解决 - 找到了真正的问题]

我正在尝试继承模型“product.product”,但在第一步中,我遇到了问题,这是我的代码:

from odoo import models, fields

class ProductProduct(models.Model):
    _inherit = "product.product"

问题:

bad query: ALTER TABLE "product_product" ALTER COLUMN "base_unit_count" DROP NOT NULL

canceling statement due to statement timeout

有什么想法吗?谢谢。

编辑 1:一天没有做任何事情后,现在一切正常。不知道为什么。

编辑 2:几个小时后,当我再次尝试继承模型 "product.product" 时,问题又回来了,这次我尝试卸载并重新安装我的自定义模块,问题又来了又不见了,现在一切似乎都正常了。

如何卸载并重新安装模块?
=> 运行 postgresql 中的这个命令(这个命令是为了防止上面的 canceling statement due to statement timeout 问题):

set statement_timeout = '60 s'; -- 60 seconds

然后,去掉pycharm中配置中的-u module_name,这样重启服务器时就不会自动升级模块了。

然后,运行服务器并手动卸载并重新安装模块。

我已经通过上面的 WORK AROUND 解决了这个问题,但这不是解决这个问题的正确方法,所以如果有人知道这个问题,欢迎。

我在这里找到了真正的问题,但它与“product.product”没有任何关系。原来是我从其他模块复制的代码导致了这个问题。
原复制代码为:

status = fields.Integer(string='Status', size=4)

但在 odoo 15 中,它不应该有大小,所以它看起来像这样:

status = fields.Integer(string='Status')

我认为是这段代码导致了问题,因此“product.product”代码无法正常 运行。

有时,可能是pycharm冲突问题,您可以通过关闭并重新打开pycharm和运行服务器轻松解决此问题。

另外,您可以尝试将limit_time_cpulimit_time_real的值分别增加到odoo.conf中的600000和12000000来忽略这个问题。