总和在树视图odoo 9

时间:2017-08-09 11:30:27

标签: odoo odoo-10 odoo-9 qweb

我需要树视图中的sum行,并且如果可能的话添加where 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

1 个答案:

答案 0 :(得分:4)

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

<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()删除重复项。