字段名
Domain是一个元组,由3个元素组成 (字段名, 操作符, 值)
如果是Many2one/Many2Many/One2many字段,可以通过'.'取出对应的属性,如:
('routing_id.operation_ids.workcenter_id','=', active_id)
操作符
符号 | 说明 |
---|---|
=,>.<,>=,<=,!= | 比较运算,等于,不等于,大于,大于等于,小于,小于等于 |
like | 模糊匹配,通过%value%匹配 |
=like | 可以使用模式匹配,下划线-匹配一个字符,百分号%匹配零或者多个字符 |
ilike | 类似like,但是忽略大小写 |
=ilike | 类似=like,但是忽略大小写 |
not like | 通过%value%不匹配的 |
not ilike | 类似not like,但是忽略大小写 |
=? | 未设置或者等于,未设置表示当值是None或者是False,其余和=一样 |
in | 判断value是否在元素的列表里面 |
not in | 判断value是否不再元素的列表里面 |
child_of | 判断是否value的子记录 |
示例:
('company_id','child_of',[user.company_id.id])
('company_level','not in',('common_company'))
有一个要注意的地方,'in'可以反向表示,比如:
('user_ids', 'in', user.id)
应用场景是当一个model中的字段是user_ids = field.Many2many('res.users'),我们可以将这个model的权限赋给这些用户,只有这些用户可以访问
<record id="mrp_dashboard_rule" model="ir.rule">
<field name="name">mrp_dashboard_rule</field>
<field name="model_id" ref="model_mrp_workcenter"/>
<field name="global" eval="True"/>
<field name=&