我正在编写代码以在“ 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..."
答案 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';
然后重新启动您的服务并再次安装该模块。不用担心您的数据,它是保存。
另一种方法是通过命令行升级您的模块。