每当我在新的python文件中继承“ res.partner”中的新字段时,都会收到此错误

时间:2019-05-28 06:01:40

标签: python-3.x postgresql odoo odoo-10 odoo-12

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

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

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

但是: 如果在python中的“ res.partner”下编写了新字段后创建了一个新数据库,并在该数据库中安装了该模块,它将正常运行。

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..."

2 个答案:

答案 0 :(得分:1)

您是否正在使用任何自定义模块?由于错误显示为,

psycopg2.ProgrammingError: column res_partner.loan_value does not exist

我认为loan_value字段来自自定义模块,这可能是导致错误的原因。

答案 1 :(得分:0)

我认为您的问题与这个问题有些相似Error column doesn't exist on custom module Odoo

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

<块引用>

update ir_module_module set state = 'uninstalled' where name = 'your_module';

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

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