Odoo 中的 domain 的解析及各种使用例子 - Oejia 技术栈,企业方案分享、Odoo顾问
Oejia 技术栈
主页
分享
微信模块
索引
关于
订阅
编辑器
登录
Odoo 中的 domain 的解析及各种使用例子
admin
on 2018-08-31 13:27:09
### 概述 domain主要用于数据的过滤,通常为一个数组,数组元素为过滤条件,每个条件是一个三元表达式,例如: [('state','=','confirm'), ('user_id','in',[1,2,3])] domain多个条件的逻辑运算使用了“波兰表示法”,波兰表示法的特定是操作符置于操作数前,运算顺序为:从左至右读入表达式,遇到一个操作符后跟随两个操作数时,则计算之,然后将结果作为操作数替换这个操作符和两个操作数;重复此步骤,直至所有操作符处理完毕。 逻辑运算符: - | 代表“或” - & 代表“且” - !代表“非” 条件的操作符主要有如下类型 操作符|说明| ---|----|--- =,!=,>,>=,<,<= |比较运算,等于,不等于,大于,大于等于,小于,小于等于 like |模糊匹配,可以使用通配符,下划线“_”匹配一个字符,百分号“%”匹配零或者多个字符 ilike |类似like,不区分大小写 not like |模糊不匹配的 in |包含,判断值是否在元素的列表里面 not in |不包含,判断值是否不在元素的列表里面 child_of |判断是否value的子记录,通过_parent_name实现,不太理解 parent_left | parent_right | 默认条件之间是按“且”的方式计算 ### domain使用场景 权限管理中的行级权限 ```
...
[1,’=’,1]
...
``` 列表视图的强制过滤 ```
...
[('stype', '=', 6)]
...
``` 字段外键记录的过滤 ``` template_approver = fields.Many2one('res.users', string='评估模版审核人', domain=lambda self: [('id', 'in', self.env.ref('xxx.group_spe_approver').users.ids)]) ``` ``` category_id = fields.Many2one('srm.category', string='选择发起的品类', domain=[('template_ids.state','=','confirmed')]") ``` 表单视图外键选择的过滤 ```
```
Information
Odoo 中的 domain 的解析及各种使用例子
http://www.oejia.net/blog/2018/08/31/odoo_domain_all.html
http://www.oejia.net/raw/2018/08/31/odoo_domain_all.md
admin
on 2018-08-31 13:27:09
Category
Odoo
Tag
Related
2021-01-23 :
Odoo 如何用命令行备份还原数据
2019-06-12 :
Odoo 地图位置改为百度地图
2018-11-14 :
基于企业微信的多功能微信客服系统,多终端回复,无需专人值守电脑
2018-10-24 :
微信模块 Oejia_wx v0.5.4 发布,增加小程序客服聊天支持,支持 Odoo12
2018-09-20 :
基于 Odoo 框架的开源在线客服系统
2018-01-31 :
Odoo 微信模块文档
2017-11-16 :
DjangoX 扩展的命令(commands)使用指南
2017-11-02 :
Odoo 模块开发规范常见约定
2016-11-22 :
Odoo 即时消息和通知相关的模块探究
2016-02-19 :
Python 运行参数解析的使用示例
官方公众号
关注公众号实时咨询我们
分类
Odoo (87)
DjangoX (11)
后端HTTP (7)
YouMd (4)
移动开发 (4)
Django (4)
公告说明 (2)
JS (2)
Python (1)
前端 (1)
Nginx (1)
桌面UI (1)
February 2021
Sun
Mon
Tue
Wed
Thu
Fri
Sat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
About This Entry
在Odoo中使用task_queue实现异步任务队列
Odoo 小程序商城模块
About This Blog
main index
to find recently
archives
to find all
标签
微信模块
小程序商城
Python
Web
Http
Cordova
客服系统
微信客服系统
HTML5
微信客服
Markdown
解析
DjangoX
微信模块发布记录
客服工单系统
ExtJS
示例
Excel
JS
新年
PyQT
扩展开发
YouPBX
服系统
最近发布
Odoo 字段定义详解
Linux 软件源推荐
如何实现 Odoo 数据每天备份到Amazon S3存储
Odoo 如何用命令行备份还原数据
如何实现 Odoo 数据每天备份到本地存储
微信模块 Oejia_wx v0.6.3 发布,多项兼容优化,即将全面适配 Odoo14
Odoo 小程序商城模块 Oejia_weshop v0.2.2 发布,全面支持多公司销售机制
OE商城积分模块
Odoo14 相对 Odoo13 依赖库的变化
Oejia 七月模块产品动态之OE商城
Friend Links
Oejia技术梦博客分享
YouMd,爱上MarkDown
Mole轻量级wsgi架子