Odoo 的重要对象 Environment (env) 简析
Environment
Environment 是 odoo 中操作db的总句柄,以下几种方式可以获得:
在 8.0中,对于继承了Model的类来说可以直接通过
self.env
得到 Environment在请求的 Controller 可以通过
request.env()
得到 Environment通过模型类或模型类对象获取,
cls.env
、product.env
eg 一些常用上下文参数:
当前用户
self.env.user当前用户id
self.env.uid当前语言代码
self.env.lang当前数据库连接
self.env.cr
Environment用途示例
- 利用 env[model] 获取模型类对象
self.env['ir.model'].search([('state', '!=', 'manual')])
- 利用 env.cr 执行sql语句
self.env.cr.execute(query, (value,))