我正在编写代码以在“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..."
您使用任何自定义模块吗?因为错误显示,
psycopg2.ProgrammingError: column res_partner.loan_value does not exist
我认为字段
loan_value
来自自定义模块,这可能是错误的原因。
我认为你的问题与此有点相似自定义模块 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';
然后重新启动您的服务并再次安装该模块。并且不用担心您的数据,它已保存。
另一种方法是通过命令行升级模块。
Resita 的解决方案仍然对我有用。谢谢你