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

When trying to use the context to avoid an onchange flieds recursion situation (see my other question about it: https://www.odoo.com/es_ES/forum/help-1/question/how-to-deal-with-api-depends-recursion-in-v8-71901 ), I tried doing:

self.with_context(skip_onchange_zip_ids=True).update()

That was in order to get that 'skip_onchange_zip_ids' from context in another onchange method to abort it to avoid infinite change recursion.

But I get this error:

TypeError: update() takes exactly 2 arguments (1 given)

So, how to actually use and modify context? What I am missing?

 

 

아바타
취소
베스트 답변

Change Context (more info at https://github.com/odoo/odoo/blob/8.0/openerp/models.py#L5214)

rec_set2 = rec_set.with_context(context2)
rec_set2 = rec_set.with_context(lang='IN')

self.with_context(skip_onchange_zip_ids=True)

아바타
취소
작성자

Perfect. This solved the problem. The ".update()" part was not necessary.

베스트 답변

Hello, 

I you want to add a new param to existing context you can:

self.with_context(skip_onchange_zip_ids=True)

Doc:

# current context is {'key1': True}
r2 = records.with_context({}, key2=True)
# -> r2._context is {'key2': True}
r2 = records.with_context(key2=True)
# -> r2._context is {'key1': True, 'key2': True}

Note: please valid correct answer to have your question closed

 

아바타
취소
관련 게시물 답글 화면 활동
2
12월 15
4718
1
3월 15
8025
2
3월 15
8033
3
2월 23
22389
3
7월 25
8861