تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
7762 أدوات العرض

The context of self is a frozendict. Is there a way to change this context of self or is there another way to alter context in odoo v8 ?

الصورة الرمزية
إهمال
أفضل إجابة

by using self.with_context you can add context value.

Passing single value:
    self = self.with_context(default_partner_id: partner_id)

Passing multiple value as a dictionary (ctx) self = self.with_context(ctx)
Note:you need to re-assign the changed context to self.  If this is not done, then the context will not be passed to other functionalities.

Code available @ github: https://github.com/odoo/odoo/blob/8.0/openerp/models.py#L5266-L5283

def with_context(self, *args, **kwargs): 
""" with_context([context][, **overrides]) -> records
Returns a new version of this recordset attached to an extended
context.
The extended context is either the provided ``context`` in which
``overrides`` are merged or the *current* context in which
``overrides`` are merged e.g.::
# 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}
"""

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
يناير 25
1243
0
أبريل 24
1772
4
نوفمبر 23
5815
0
أكتوبر 23
1581
0
ديسمبر 22
2489