Domains域

一个域是一个criteria(度量标准)列表,每个criterion(标准尺度)是一个三元列表或者元组:field_name,operator,value。

field_name(str)

  当前模型的字段名,或者使用点表示法的(穿越Many2one(多对一)的)关系。例如:'street'或者'partner_id.country'。

operator(str)

  操作符,用于field_name与value之间的比较。

  有效的操作符:

    •   =  等于
    •   != 不等于
    •      >   大于 
    •      >= 大于等于
    •    <  小于
    •    <= 小于等于
    •      =?  未设置或等于(如果值要么为None或者False,返回True,其他类似=)
    •      =like 将field_name与值模式匹配,模式中"_"匹配任意单字符,"%"匹配任意的零个或者多个字符
    •    like  将field_name与%value%进行模式匹配,类似于=like,但是匹配前value被%包装
    •      not like 不匹配%value%模式
    •      ilike 不区分大小写 like
    •    not ilike 不区分大小写 not like
    •     =ilike 不区分大小写=like
    •     in 存在于 value,value 应为items列表
    •     not in 不存在于value
    •     child_of  是value记录的子代(子孙)

value 必须与命名的字段是可比较的(通过操作符)

域条件(Domain criteria)可以使用逻辑运算符(以前缀的形式)进行组合:

  • '&' 逻辑AND,默认操作将criteria与下一条crtiteria进行组合, Arity 2 (两个参数),使用下两个criteria和combinations
  • '|' 逻辑或,Arity 2 (两个参数)
  • '!' 逻辑非 Arity  (1个参数)

例如:

[('name','=','ABC'),
 ('language.code','!=','en_US'),
 '|',('country_id.code','=','be'),
     ('country_id.code','=','de')]
(name is 'ABC')
AND (language is NOT english)
AND (country is Belgium OR Germany)

 

转载于:https://www.cnblogs.com/baishoujing/p/6399816.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值