* context
  这是一个上下文,运用很灵活

* 得到整个context
  V7
  context=dict(context or {})
  这个版本是明传
  V8
  self.context_get()
  self.env['res.users'].context_get()

* 得到context里面对应的值

得到flag的值
 
  V8
  self.env.context.get('flag',False)

V7
  context.get('flag',False)

* 修改context里面的对应的值

V8
  self.with_context({'flag': False})
  或
  self.with_context(flag=True) 单一时
  或
  ctx = dict(context or {})
  ctx['flag']=False
  self.with_context(ctx)

v7
  context = dict(context or {})
  这句不在改前一定要有,否则报错
  -------
  context.update({'flag': False})
  或:
  context.update(flag=True)单一时
  或:
  context['flag']=False

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

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

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

* 常规用法
  v7 带入函数中
      def create(self, cr, uid, vals, context=None):
        context = dict(context or {})

v8 带入函数中
    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"时
  <field name="context">{"search_default_my_export_list":1} </field>
  代表 搜索时 my_expert_list 值为1 对于 search_default_是系统的前置标识

分组
  <filter string="Day"name="group_day"context="{'group_by':'date_start:day'}"

指定搜索
  <field name="department_id" string="Department" context="{'invisible_department': False}"/>

列表中字段
  <field name="line_ids" context="{'currency_id': currency_id,
   'default_analytic_account': context.get('analytic_account', '')}">

视图定义context 带入函数
<field name="product_id" on_change="onchange_product_id(product_id, context)"
  context="{'default_hr_expense_ok':1}"/>

* context上面是常用的方法,掌握后,就可以在整个系统中方便传数值,但是上下文,不要传太多

(49) odoo context操作的更多相关文章

  1. (47) odoo详细操作手册

    odoo 8 详细操作手册, ERP(Odoo8.0)操作手册-v1.10(陈伟明).pdf 链接: http://pan.baidu.com/s/1hsp0bVQ 密码: r9tt 花了将近9个月时 ...

  2. (10)odoo控制器操作

    -----------------更新时间11:17 2016-09-18 星期日    完善讲解17:44 2016-02-17 星期三-----------------* 控制器Controlle ...

  3. (04)odoo视图操作

    -----------------更新时间19:04 2016-09-29 星期四11:17 2016-09-18 星期日18:13 2016-04-05 星期二15:05 2016-03-14 星期 ...

  4. odoo - context

    得到整个context self.context_get() self.env['res.users'].context_get() 得到context里面对应的值 eg:得到flag的值 self. ...

  5. 第一章 使用开发者模式快速入门 Odoo 12

    本文为最好用的免费ERP系统Odoo 12开发手册系列文章第一篇. Odoo提供了一个快速应用开发框架,非常适合创建商业应用.这类应用通常用于保留业务记录,增删改查操作.Odoo 不仅简化了这类应用的 ...

  6. Odoo Shell

    Odoo shell 提供了一个简便的操作 Odoo的交互界面, 从 odoo 9.0 开始就是标准功能, 无需安装第三方应用. 本文基于Odoo10 说明 Odoo Shell以及 Odoo Mod ...

  7. 第三章 Odoo基本设置

    登录 正常访问http://localhost:8069后,登录的界面如下: 这是Odoo默认的认证方式,也是我们最常见最熟悉的认证方式,7.0以前,数据库中的密码都是以明文方式存储,可以很轻松地在r ...

  8. Android Context完全解析

    Context类型 我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?其实简单点分析, ...

  9. Android各种获取Context方法

    首先讲一讲这四个函数的区别,后面还有我对context的一些理解区别如下所示: 原文链接http://stackoverflow.com/questions/6854265/getapplicatio ...

随机推荐

  1. python之编写登陆接口(第一天)

    作业:编写登陆接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 针对此实例写了有二种类型的脚本,略有不同,具体如下: 帐号文件account.txt内容如下: sam 123 david ...

  2. MiniUI中DataGrid数据的载入

    本文将介绍一下,在ASP.NET MVC环境下,如何用Jquery MiniUI中的Datagrid控件载入数据. 1.效果展示: 2.具体步骤: 1>  既然是在MVC里,那我们的界面自然选择 ...

  3. CentOS搭建GitLab服务器

    以下为CentOS7下安装GitLab7.4.3的全部流程 1.切换到root用户su root2.下载并安装GitLabcurl -O https://downloads-packages.s3.a ...

  4. 跳转 linQ

    <a href="../Book/BookDetail?book_id=@book.book_id">@book.book_name</a> query + ...

  5. exp_tools

    #pwntools # github https://github.com/Gallopsled/pwntools 在线帮助文档 https://docs.pwntools.com/en/stable ...

  6. Django(二)

    一.路由系统,URL    1.url(r'^index/', views.index),            url(r'^home/', views.Home.as_view()),    2. ...

  7. java 线程返回值

    1.传统方式需要新建一个接口类,然后在接口类中将结果在方法中作为参数进行处理 package de.bvb.test3; public class Test3 { public static void ...

  8. No row with the given identifier exists:错误另解

    这是一个hibernate常见的问题.搜索出来最多的答案都是如下面这篇文章所述: http://blog.csdn.net/eyejava/article/details/1896492 但我觉得我问 ...

  9. xcode8+iOS10问题

    .xcode升级到8.0后打印的问题 ()xcode8会打印一些莫名其妙的log 解决方法:Scheme里面添加OS_ACTIVITY_MODE = disable ()xcode8打印log不完整 ...

  10. er3

    <html xmlns:v="urn:schemas-microsoft-com:vml"xmlns:o="urn:schemas-microsoft-com:of ...