本帖最后由 jeffrey 于 2018-5-25 15:09 编辑
mapped 使用提供的函数对记录集的每个记录进行计算,如果结果是记录集,则返回这个记录集:
# returns a list of summing two fields for each record in the set 返回一个计算两个字段综合的记录 records.mapped(lambda r: r.field1 + r.field2)
提供的函数也可以是一个字符串,用来获取字段值:
# returns a list of names records.mapped('name')
# returns a recordset of partners 三种用法分别是返回一个列表,返回一个记录集,返回所有伙伴银行的记录,并删除副本。 record.mapped('partner_id')
# returns the union of all partner banks, with duplicates removed record.mapped('partner_id.bank_ids')
例:在stock_move中有一段aciton_confirm函数 for proc in procs_to_check: pickings = (proc.move_ids.mapped('picking_id')).filtered(lambda record: not record.carrier_id)
这里的mapped就是把picking_id记录集中的每个记录进行映射,根据上面讲的这里就是返回一个记录集, 后面筛选出不是承运人记录的记录
|