odoo 开发 context 上下文的用法

 context   这是一个上下文,运用很灵活  得到整个context   self.context_get()

  self.env['res.users'].context_get() 得到context里面对应的值 得到flag的值     self.env.context.get('flag',False)

修改context里面的对应的值   self.with_context({'flag': False})   或   self.with_context(flag=True) 单一时   或   ctx = dict(context or {})   ctx['flag']=False   self.with_context(ctx)

保证context的字典类型   context = dict(context or {})

复制context   c = context.copy()   主要改变部分值,带到其它函数中

自己构造context   context = {'flag':Fasle,'lang':'zh_cn'}

常规用法  

带入函数中    

if part.lang:       

      self = self.with_context(lang=part.lang)     

    product = self.env['product.product'].browse(product)

   ------   

   return self.with_context(ctx).write({'invoice_line': []})   

记住,用了 with_context

视图中引入

context   model="ir.actions.act_window"时   {"search_default_my_export_list":1}  

代表 搜索时 my_expert_list 值为1 对于 search_default_是系统的前置标识 

猜你喜欢

转载自www.cnblogs.com/zhaoweihang/p/9698852.html