openerp domain 規則

oe中的domain多用于自定义搜索条件。

domain中的单个条件是一个三个元素组成的元组。第一个是对象的一个column,也就是字段名;第二个是比较运算符``=, !=, & gt;, >=, <, & lt;=, like, ilike, in, not in, child_of, parent_left, parent_right``;第三个就是用来比较的值了。多个条件用“|”(or),“&”(and),“!”(no)逻辑运算符链接。逻辑运算符作为前缀放置于条件前面。“|”与 “&”必须两个条件链接,“!”对一个条件取反。默认逻辑运算符为“&”。

举个例子:

[‘|‘,‘|‘,(‘group_ids‘,‘in‘,[g.id for g in user.groups_id]), (‘user_id‘, ‘=‘, user.id), ‘&‘, (‘user_id‘, ‘=‘, False), (‘group_ids‘,‘=‘,False),  ‘|‘,‘|‘, (‘company_id‘,‘=‘,False), (‘company_id‘,‘child_of‘,[user.company_id.id]),(‘company_id.child_ids‘,‘child_of‘,[user.company_id.id])]

这个例子的意思是:

[‘|‘,

‘|‘,(‘group_ids‘,‘in‘,[g.id for g in user.groups_id]), (‘user_id‘,  ‘=‘, user.id),

‘&‘, (‘user_id‘, ‘=‘, False),  (‘group_ids‘,‘=‘,False),

‘|‘,

‘|‘, (‘company_id‘,‘=‘,False),  (‘company_id‘,‘child_of‘,[user.company_id.id]),

(‘company_id.child_ids‘,‘child_of‘,[user.company_id.id])]

写个容易看的方式:

((‘group_ids‘,‘in‘,[g.id for g in user.groups_id]) or (‘user_id‘,  ‘=‘, user.id)) or ((‘user_id‘, ‘=‘, False) and (‘group_ids‘,‘=‘,False)) or ((‘company_id‘,‘=‘,False) or (‘company_id‘,‘child_of‘,[user.company_id.id])) or (‘company_id.child_ids‘,‘child_of‘,[user.company_id.id])

openerp domain 規則

时间: 2024-11-13 08:06:07

openerp domain 規則的相关文章

JavaScript中的與和或的規則

與(&&)的規則是: 第一項的Boolean值為false,則返回第一項的值 第一項的Boolean值為true,則返回第二項的值 簡記:一假返一,一真返二 與:一假為假,全真為真 或(||)的規則是: 第一項的Boolean值為true,則返回第一項的值 第一項的Boolean值為false,則返回第二項的值 簡記:一真返一,一假返二 或:一真為真,全假為假

四條規則——達成事實的方法(笛卡尔 )

第一規則是無論任何事在我未明白認識以前,絕對不能承認之為真.(這就是說,要很小心地免除在判斷中的急促與偏見,只能承受在我們心靈中表現極清楚明白而使我們再不能懷疑的判斷.) 第二規則為將我在很多部分中所有的困難儘量分析開,使能獲得最好解決. 第三規則順者次序引導我們的思想,由最簡單的與最容易認識的事物起始,漸漸達到最複的知識,假定在他們當中彼此不是順着一個自然的關係. 第四規則為在一切情形中統計越完全越好,觀察越普遍越好,不要遺留一點.

.htaccess 语法以及应用

[转] http://blog.sina.com.cn/s/blog_6e8b46e701014drc.html http://blog.sina.com.cn/s/blog_6e8b46e701014dtu.html .htaccess是Apache服务器的一个非常强大的分布式配置文件. 正确的理解和使用.htaccess文件,可以帮助我们优化自己的服务器或者虚拟主机. 如何启用htaccess 以windows为例,进入apache/conf目录,找到httpd.conf文件,去掉 Load

redhat kvm 5.4 64 创建虚拟主机(二) 不断更新补充

官方参考 http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Virtualization_Guide/index.html KVM是红帽5.4发行版中推出的最新虚拟化技术,严格上说它是完全虚拟化的产品,VMware和vpc,virtualbox等也都是完全虚拟化的产品,而xen则是半虚拟化的产品,半虚拟化从性能上说要比完全虚拟化快很多,但xen有个缺点,它是重量级的虚拟机,修改了大量的内核源代码,它的guest机

/etc/xinetd.conf 和 /etc/xinetd.d/*

xinetd 是 inetd 的安全加强版,它内置了自己的 TCP wrapper, 可以完全替代 inetd 与 tcpd 的组合.为了因应新增的功能,xinetd 改用了一种较有灵活性的配置文件格式,但是新格式与 inetd.conf 的格式并不兼容. xinetd 的配置文件是 /etc/xinetd.conf,其内容有多个区段构成,每个区段各定义一种网络服务的操作参数: service name { attribute1 = value attribute2 = value1 value

JavaScript基礎知識

1.標籤組使用 <script charset='utf-8' //設置字元集 defet //使腳本延遲到文檔解析完成,Browser已忽略 language='javascript' //設置語言,已廢棄 src='url' //引用外部檔,可選 type='text/javascript' //必選,language替代品 >代碼</script> 列印JavaScript結尾符(外部引用可直接打):'<scr'+'ipt>'); src引用JS後,不要在<

[Halcon] Halcon算子总集合

HALCON算子函數--Chapter 1 : Classification Chapter_1_:Classification 1.1  Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一個訓練樣本添加到一個高斯混合模型的訓練數據上. 2.classify_class_gmm 功能:通過一個高斯混合模型來計算一個特征向量的類. 3. clear_all_class_gmm   功能:清除所有高斯混合模型. 4. clear_class_gm

C#3.0 扩展方法

扩展方法 在很多时候我们需要编写各种各样的帮助类,因为官方提供的再全面,也会有未包含到的地方,这时一个静态的帮助类就可以帮我们解决问题 举一个不是很恰当的例子,假如要对一个字符串进行验证其内容不为null并且等于admin但是很多地方都要调用,按照封装思想要封装成一个方法,看起来可能是下面这样子的 这并没有任何问题,代码也是比较简单,但是很难会有一种亲近感,因为StringiHelper.ValidArg这样的调用存在.比如这个验证应该是官方应该考虑到的,但是他们忽略了,编写这样一个扩展后会有很

tcpdump抓包分析具体解释

說實在的,對於 tcpdump 這個軟體來說,你甚至能够說這個軟體其實就是個駭客軟體, 因為他不但能够分析封包的流向,連封包的內容也能够進行『監聽』, 假设你使用的傳輸資料是明碼的話,不得了,在 router 上面就可能被人家監聽走了! 非常可怕吶!所以,我們也要來瞭解一下這個軟體啊!(註:這個 tcpdump 必須使用 root 的身份執行) [[email protected] ~]# tcpdump [-nn] [-i 介面] [-w 儲存檔名] [-c 次數] [-Ae] [-qX] [