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

Hi,

I am pretty new creating my custom modules. What I want to do is to create a 'custom_id' for each user based on the input of other of the fields. 

So I have a readonly field like this

'IdNumber': fields.char('Id Number', readonly=True),

And then I have

'CountryID': fields.char('Country ID', required=True),

'father_name': fields.char('Last Name', required=True),

What I want to do is to generate the IdNumber when the user inputs the data for CountryId and father_name. For example CountryID+father_name

I simply need a tip in the right direction and I will try to figure it out from there. I guess I have to use a fields.function for my IdNumber but I would like some clarification.

 

Thanks!

 

아바타
취소

In v8 ,you can use compute method and v7 you can use fields.function

베스트 답변

My suggetion is to create private method and decorate it with @api.onchange decorator. This will cause Odoo v8 to call this method whenever the fields specified in the decorator are changed (in your case the fields CountryID and father_name. Inside the method you can assign the new valude to the IdNumber field, and this value will be stored (check this example https://www.odoo.com/forum/help-1/question/odoo-8-api-onchange-example-how-to-copy-field-value-to-other-field-74838)

If you are trying this in V7, than the way the oncall is defined is different. In V7, you neet to place the "store" attribute on the filed and specify which model/fields to be monitored and which function/lambda to be called when the fields are modified. 

아바타
취소
작성자

Thanks a lot Jordan. I am wondering, how did you learn about the existence of the @api.onchange? Is there any documentation (like wordpress codex for example) you suggest me to read? Thanks

You can find more details on this page: https://www.odoo.com/documentation/8.0/reference/orm.html#module-openerp.api

관련 게시물 답글 화면 활동
3
7월 25
8776
1
5월 25
1073
0
1월 24
1767
1
2월 22
23911
5
12월 21
16750