Qweb如何选择非空字段的记录

时间:2018-02-14 07:30:39

标签: odoo odoo-10 qweb

我有一个QWeb报告,其中对象ostock.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的实例?

1 个答案:

答案 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)" />