コンテンツへスキップ
メニュー
この質問にフラグが付けられました
3 返信
4701 ビュー

I'm trying to create a fields in res.partner(odoo16) but the error occurs
the code:

from odoo import fields, models, api, _

class ResPartner(models.Model):
_name="res.partner"
_inherit = "res.partner"
x=fields.Char("my field name")

the error:
psycopg2.errors.UndefinedColumn: column res_partner.x does not exist

アバター
破棄
最善の回答

Hi,

You can refer the following blog.

https://www.cybrosys.com/blog/how-to-add-custom-fields-to-existing-views-in-odoo-16

Also when we add a new field to res.partner,we need do the immediate upgrade of the custom module open your custom module from the apps list restart server, do immediate upgrade of custom module.

In odoo.sh env you can use odoo-bin -u custom module in the sh shell

Regards

アバター
破棄
最善の回答

Hello Asmaa,

In Odoo, the 'inherit' keyword is used to inherit an existing view or model and make changes to it. The '_name' variable is used to specify the name of the model. 

However, when inheriting an existing view or model, Odoo already knows the name of the model or view being inherited, so there is no need to specify it again using the '_name' variable.

Instead, you can simply use the 'inherit' keyword followed by the name of the view or model you wish to inherit, and then make the necessary changes to it. This approach makes the code simpler and easier to read. Refer below example. 

from odoo import fields, models, api, _

class ResPartner(models.Model):
_inherit = "res.partner"
 
x=fields.Char("my field name"

I hope this helps you.

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

アバター
破棄
最善の回答

Hi,

Remove the name attribute you have given and restart the service and upgrade your module.

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

your_field = fields.Char("my field name")


Thanks

アバター
破棄
関連投稿 返信 ビュー 活動
1
3月 23
2772
3
5月 24
2250
2
4月 24
2060
2
1月 24
3533
1
11月 23
1729