在树视图 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>
players
是 field_2
的 列表 。您必须使用 set()
删除重复项。
我需要在树视图中求和行,如果可能的话添加 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>
players
是 field_2
的 列表 。您必须使用 set()
删除重复项。