Odoo中的记录集
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826218.html
一:record set
1:获取记录集
1)在@api.multi修饰器修饰的函数中,self就是记录集。
2)在模型、controller方法中执行search()操作时,返回的就是符合查询条件的记录集。
2:从记录集可以获取什么
- ids 得到当前记录集的id列表
- ensure_one() 验证一个记录集合是否只包含一条记录
- exists() 返回当前记录集中真正存在的子集,并把缓存中未删除的部分做标记,可用于判断
if record.exists():
- filtered(func) 返回满足func参数内条件的记录集合,参数可以是一个函数或者用.分隔的字段列表
- sorted(key=None, reverse=False) 返回按key排序之后的记录集,key参数可以是一个返回单个key的函数或字段名称或为空,reverse参数为True时即为倒序
- mapped(func) 将func函数应用到所有记录上,并返回记录列表或集合,可用于对记录集作处理
3:记录集的集合运算
-
集合运算符
- record in set返回record是否在set中,record须为单条记录,record not in set反之
- set1 <= set2 返回set1是否为set2的子集
- set1 >= set2 返回set2是否为set1的子集
- set1 | set2 返回set1和set2的并集
- set1 & set2 返回set1和set2的交集
- set1 - set2 返回在集合set1中但不在set2中的记录