Skip to Content
Menu
This question has been flagged
4 Replies
37894 Views

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?

 

 

Avatar
Discard
Best Answer

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)

Avatar
Discard
Author

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

Best Answer

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

 

Avatar
Discard
Related Posts Replies Views Activity
2
Dec 15
4199
1
Mar 15
7324
2
Mar 15
7320
3
Feb 23
21616
1
May 25
162