콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
3 답글
4936 화면

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
2863
3
5월 24
2386
2
4월 24
2199
1
8월 25
2879
2
1월 24
3690