每次我通过在新的 python 文件中继承“res.partner”中输入新字段时都会收到此错误

问题描述 投票:0回答:3

我正在编写代码以在“res.partner”中添加新字段。我到处搜索但找不到这个问题的解决方案。

我将类命名为“ResPartner”并继承“res.partner”。 添加personal_id字段并运行并安装模块,效果很好。现在,

如果: 我在现有数据库中添加一个新字段,它会给我错误 res_partner。不存在。

但是: 如果我在“res.partner”下用 python 编写新字段并在该数据库中安装模块后创建一个新数据库,它将运行而不会出现任何错误。

class ResPartner(models.Model):
    _inherit = 'res.partner'

    personal_id = fields.Char(string="Personal ID Number")
    child_name_new = fields.Integer(string="Name of the Child:")
    birth_date_child = fields.Date(string="Date of birth of child")
    admission_date_child = fields.Date(string="Date of admission")

预期: 没有错误

错误:

File /home/braincrew/Documents/projects/odoo/odoo12/odoo/odoo/models.py", line 2765, in read
    self._read_from_database(stored, inherited)
  File "/home/braincrew/Documents/projects/odoo/odoo12/odoo/odoo/models.py", line 2892, in _read_from_database
    cr.execute(query_str, params)
  File "/home/braincrew/Documents/projects/odoo/odoo12/odoo/odoo/sql_db.py", line 148, in wrapper
    return f(self, *args, **kwargs)
  File "/home/braincrew/Documents/projects/odoo/odoo12/odoo/odoo/sql_db.py", line 225, in execute
    res = self._obj.execute(query, params)
psycopg2.ProgrammingError: column res_partner.child_name_new does not exist
LINE 1: ...nce","res_partner"."personal_id" as "personal_id","res_partn..."
python-3.x postgresql odoo odoo-10 odoo-12
3个回答
1
投票

您使用任何自定义模块吗?因为错误显示,

psycopg2.ProgrammingError: column res_partner.loan_value does not exist

我认为字段

loan_value
来自自定义模块,这可能是错误的原因。


0
投票

我认为你的问题与此有点相似自定义模块 Odoo 上不存在错误列

我还在这里读到https://ngasturi.id/2021/01/12/mengatasi-error-column-does-not-exist-pada-odoo/,该错误仅在您在 res 中添加新字段时发生。已安装模块上的合作伙伴或 res.users。一种解决方案是在数据库上运行此查询

更新 ir_module_module set state = 'uninstalled' where name = 'your_module';

然后重新启动您的服务并再次安装该模块。并且不用担心您的数据,它已保存。

另一种方法是通过命令行升级模块。


-1
投票

Resita 的解决方案仍然对我有用。谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.