我有一个QWeb报告,其中对象o
是stock.move(97,99,98,325,326,327)
所以
<span t-field="o"/>
显示器
stock.move(97,99,98,325,326,327)
在数据库中,从所有stock.move
元素中,只有三个元素填充了字段procurement_id
:
# select id,procurement_id from stock_move where id in (97,98,99,325,326,327);
id | procurement_id
-----+----------------
97 |
98 |
99 |
325 | 16
326 | 17
327 | 18
(6 rows)
如果我这样做:
<span t-field="o.procurement_id"/>
未生成QWeb报告,可能是因为我们正在尝试检索procurement.order
的空实例(在本例中为三个空实例)。
如何只检索现有的三个procurement.order
个实例,即已填充procurement_id
的实例?
答案 0 :(得分:1)
您可以使用方法mapped
将采购检索为RecordSet或filtered
,以获取stock.move
s的新RecordSet以及您要过滤的任何内容。
<!-- get the procurements -->
<span t-esc="o.mapped('procurement_id')" />
<!-- get the moves with procurements -->
<span t-esc="o.filtered(lambda move: move.procurement_id)" />