什么是地图和如何使用这个在奥多10?
如何在odoo 10中使用映射和过滤?

结果=总和(order.order_line.filtered(
兰姆达r:r。状态!=“state”).mapped(“字段名”)
)
将field1的每个值乘以同一表中的其他field2,返回所有和。

最佳答案

完全记录在Odoo docs上:
mapped():将提供的函数应用于记录集中的每个记录,如果结果是记录集,则返回一个记录集。提供的函数可以是获取字段值的字符串。

# returns a list of names
records.mapped('name')

在代码中,表达式从order.order_line.filtered( lambda r: r.state != "state" ).mapped( "field_name" )返回field_name的列表。然后用python函数求和。

10-05 18:56