Odoo 学习 【二】Environment 概览
Environment
参考链接: http://odoo-new-api-guide-line.readthedocs.io/en/latest/environment.html#environment
在新的API中,引入了环境的概念,它的主要目标是提供对游标、用户、模型、上下文、记录集、和缓存的封装。
有了这些,你没有必要在再需传入这些函数参数:
# beforedef afun(self, cr, uid, ids, context=None):pass# nowdef afun(self):pass
你可以如下访问环境:
def afun(self):self.env# ormodel.env
环境是不可变的,并不能直接被修改,因为它也保存着缓存和记录集等等。
修改 Environment
你可以使用with_context
函数来修改你当前环境的上下文。
self.env['res.partner'].with_context(tz=x).create(vals)
注意不要使用这个功能来修改当前的记录集合:
self = self.env['res.partner'].with_context(tz=x).browse(self.ids)
在重新浏览之后,它将会修改记录集中当前的记录,这将会产生缓存和记录集合之间的不一致。
切换用户
环境提供了一个辅助函数来切换用户:
self.sudo(user.id)self.sudo() # 默认将会使用SUPERUSER_ID# orself.env['res.partner'].sudo().create(vals)
访问当前用户
self.env.user
使用xml id来获取记录
self.env.ref('base.main_company')
某些时候,你会不得不要使用这个游标直接插入/写入。在这种情况下,你要想要使得缓存失效。
self.env.invalidate_all()
转载于:https://www.cnblogs.com/baishoujing/p/9001358.html
Odoo 学习 【二】Environment 概览相关推荐
- hadoop hive hbase 入门学习 (二)
hadoop 自学系列 hadoop hive hbase 入门学习 (一) hadoop安装.hdfs学习及mapreduce学习 hadoop 软件下载 (hadoo ...
- Docker学习二:Docker镜像与容器
前言 本次学习来自于datawhale组队学习: 教程地址为: https://github.com/datawhalechina/team-learning-program/tree/master/ ...
- (转)MyBatis框架的学习(二)——MyBatis架构与入门
http://blog.csdn.net/yerenyuan_pku/article/details/71699515 MyBatis框架的架构 MyBatis框架的架构如下图: 下面作简要概述: ...
- odoo学习必看-提问的智慧《How To Ask Questions The Smart Way》
odoo学习必看-提问的智慧<How To Ask Questions The Smart Way> 人必自助而后人助之,而后天助之.出自<周易·系辞上> 访问原文 感觉这篇文 ...
- AFL(american fuzzy lop)学习二
AFL(american fuzzy lop)学习二 @sizaif @2022-04-10 设计思想 覆盖率计算 改进边缘覆盖: 向目标程序注入以下工具来捕获分支(边缘)覆盖率和分支命中计数 一条边 ...
- 2月份隐私计算、联邦学习的市场概览
2月份隐私计算.联邦学习的市场概览 摘要:在隐私计算市场中,三股信息流如清风拂面,流转不息.采购意向,犹如花开满园,为供应商和服务提供商探明商机:招标信息,如云卷云舒,为客户了解市场动态提供重要参考: ...
- cs231n 课程学习 二
cs231n 课程学习 二 cs231n 课程资源:Stanford University CS231n: Convolutional Neural Networks for Visual Recog ...
- C#多线程学习(二) 如何操纵一个线程
C#多线程学习(二) 如何操纵一个线程 原文链接:http://kb.cnblogs.com/page/42529/ [1] C#多线程学习(二) 如何操纵一个线程 [2] C#多线程学习(二) 如何 ...
- spring security 学习二
spring security 学习二 doc:https://docs.spring.io/spring-security/site/docs/ 基于表单的认证(个性化认证流程): 一.自定义登录页 ...
- STL源码剖析学习二:空间配置器(allocator)
STL源码剖析学习二:空间配置器(allocator) 标准接口: vlaue_type pointer const_pointer reference const_reference size_ty ...
最新文章
- DIY最近准备配一台经济型的电脑,查了一下配置如下,总价2481元,自己也不专业,不知道有没有问题...
- java io 文件复制_实例讲述Java IO文件复制
- JMeter性能测试,验证请求数据的准确性(wc命令)
- python字典内存分析_Python减少字典对象占用的七成内存
- Qt与FFmpeg联合开发指南(二)——解码(2):封装和界面设计
- [AGC009B] Tournament(多叉树转二叉树后的最小可能深度)
- php背景图添加字,怎样给视频后面加背景图 视频加背景图片并添加一行广告文字...
- ElasticSearch sql 插件安装
- redis入门——客户端篇
- 阿里巴巴Python工程师面试题之一:单引号,双引号,三引号的区别
- java全栈_java全栈的知识技能
- TCP和UDP对比的优势和劣势
- 使用Pytorch识别字符验证码
- 关于js导入Excel时,Excel的(年/月/日)日期是五位数字的问题。以及对Excel日期存在的错误的分析和处理。
- elasticsearch进阶(3)—— ilm policy
- 转行做软件编程开发的经历
- 插件小王子的插件源码汇总
- ESXI6.7升级至ESXI7及各问题的解决
- Oracle查询出第N高薪水的值
- libusb的简单使用
热门文章
- linux中pipe
- MVC3+EF4.1学习系列(一)-------创建EF4.1 code first的第一个实例(强转)
- C#编程应用--线程与委托
- 关于CSS样式浏览器兼容问题的一些注意事项
- 构建插件式的应用程序框架(六)----通讯机制(ZT)
- 五. python的日历模块
- 手机APP自动化之uiautomator2 +python3 UI自动化
- 特斯拉解锁对汽车电池容量的软件限制,以帮助用户逃离飓风危险
- window 远程访问本地centos/redhat虚拟机上jupter notebook 配置方法
- IPVS: Can't initialize ipvs: Protocol not available解决方法