在树视图 odoo 9 中求和

Sum in tree view odoo 9

我需要在树视图中求和行,如果可能的话添加 where 条件!

我的树视图:

行 | field_1 | field_2

1 | 8 |梅西

2 | 8 |梅西

3 | 8 |罗纳尔多

4 | 8 |罗纳尔多

如何只对梅西和对罗纳尔多求和得到结果 16

在下面的跨度中我得到 32

<span t-esc="sum(line.field_1 for line in doc.my_ids)" widget="float_time"/>

有什么解决办法吗?

<span t-esc="Messi"/>  16
<span t-esc="Ronaldo"/>  16

您可以按 field_2 对行进行分组,然后为每个 player 计算 field_1 的总和。

<t t-set="players" t-value="[]"/>
<t t-foreach="doc.my_ids" t-as="l">
    <t t-set="players" t-value="players+[l.field_2]"/>
</t>
<t t-foreach="set(players)" t-as="player">
    <p>
    <span t-esc="player"/>
    <t t-set="sum_goal" t-value=0/>
    <t t-foreach="doc.my_ids" t-as="l">
        <t t-if="player==l.field_2">
            <t t-set="sum_goal" t-value=sum_goal+l.field_1/>
        </t>
    </t>
    <span t-esc="sum_goal"/>
    </p>
</t>

playersfield_2 列表 。您必须使用 set() 删除重复项。