Odoo中文网|Odoo实施培训

 找回密码
 立即注册
搜索
热搜: Odoo OpenERP 实施
查看: 7826|回复: 0

几种映射方法

[复制链接]

85

主题

94

帖子

475

积分

中级会员

Rank: 3Rank: 3

积分
475
发表于 2018-5-25 15:08:18 | 显示全部楼层 |阅读模式
本帖最后由 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记录集中的每个记录进行映射,根据上面讲的这里就是返回一个记录集, 后面筛选出不是承运人记录的记录

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|技术支持|开发手册|Odoo中文网-远鼎旗下odoo培训网站 ( 苏ICP备15039516号 )

GMT+8, 2024-3-28 23:04 , Processed in 0.011390 second(s), 9 queries , Xcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表