其他分享
首页 > 其他分享> > odoo 环境属性

odoo 环境属性

作者:互联网

使用self.env来查看当前的环境属性

>>> self.env
<odoo.api.Environment object at 0x7f78a26026a0>

self.env 中的执行环境中有以下属性:

env.cr是正在使用的数据库游标(cursor)
env.user是当前用户的记录
env.uid是会话用户 id,与env.user.id相同
env.context是会话上下文的不可变字典

服务端获取上下文
服务端查看上下文命令为self.context_get()或self.env.context

修改记录集执行环境
记录集执行环境是不可变的,因此不能被修改,但我们可以创建一个变更环境并使用它来执行操作。我们通过如下方法来实现:

env.sudo(user)中传入一条用户记录并返回该用户的环境。如未传入用户,则使用__system__超级用户root,这时可绕过安全规则执行指定操作。
env.with_context() 替换原上下文为新的上下文
env.with_context(key=value,…)修改当前上下文,为一些键设置值

有时我们只要知道满足某一条件的记录条数,这时可使用search_count()来返回记录条数而非记录集。这节约了先获取记录列表再记数的开销,在还没有获取记录集且仅想知道记录条数时这样会更高效。

iu_en_uan 发布了9 篇原创文章 · 获赞 0 · 访问量 394 私信 关注

标签:env,self,环境,用户,context,odoo,上下文,记录集,属性
来源: https://blog.csdn.net/weixin_43579930/article/details/103563489