zoukankan      html  css  js  c++  java
  • Odoo中的env详解

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826382.html

    一:environment

        environment类提供了对ORM对象的封装,同时提供了:

        1)注册类的访问:对于继承Model类来说可以直接通过self.env对environment进行操作。

        2)记录集的缓存:清除缓存可以使用environment对象的invalidate_all()方法进行。  

        3)管理重计算的数据结构。  

    二:env的属性列表

    1.user:返回当前用户  
        self.env.user  
    2.lang:返回当前语言代码  
        self.env.lang  
    3.in_draft:返回是否处于草稿状态  
        self.env.in_draft  
    4.in_onchange:返回是否处于on_change草稿模式  
        self.env.in_onchange  
    另外还有cr,registery,cache,prefetch,computed,dirty,todo,mode,all等,有待一一探究。

     

    三:env中属性的使用

    
    
    self.env.cr 或者 self._cr是数据库游标对象,通常用于查询数据库
    self.env.uid或者self._uid是当前用户的数据库ID
    self.env.user是当前用户记录
    self.env.ref(xml_id)返回XML ID对应的记录
    self.env[model_name]返回给定模型的实例
     

    四:更改context

        1:.sudo().XXX:使用现有数据集以超级权限运行环境来执行XXX操作。

        2:self.with_context({key:val}):可用于替换当前运行环境的context

        3:with_env() :完整替换当前运行环境

  • 相关阅读:
    Pandas速查手册中文版
    MySQL-增删改查
    主从复制-常见问题
    redis-主从复制
    高级数据类型-GEO
    高级数据类型-HyperLogLog
    高级数据类型-bitmaps
    redis-redis.conf基础配置
    删除策略--逐出策略
    删除策略-过期数据
  • 原文地址:https://www.cnblogs.com/ygj0930/p/10826382.html
Copyright © 2011-2022 走看看