Is it possible get variable value from loop?
For example:
<t t-set="flag" t-value="False"/>
<!-- flag now False -->
<tr t-foreach="o.lines" t-as="line">
<td><span t-field="line.name"/></td>
<td><span t-field="line.qty"/></td>
<t t-set="flag" t-value="True"/>
<!-- flag now True -->
</tr>
<!-- flag again False -->
Variable flag inside loop is different from variable flag outide. How send information outside loop?
This question has been flagged
There is a GitHub Issue #4461 on this problem.
UPDATE: A patch to v8 was released and some good programming suggestions were made by Olivier on how to avoid using loops.
Updated my answer with the patch.
Thank you Stephen Mack !
As a workaround we can use:
1) If you can insert output in last iteration then use like:
<t t-set="total" t-value="0" />
<t t-foreach="o.order_line" t-as="line">
<t t-set="total" t-value="total+line.quantity" />
<t t-if="line_last">
<t t-esc="total" />
</t>
</t>
2) If you can't insert output in loop then use like:
<t t-set="total" t-value="sum([line.quantity for line in o.order_line])" />
Those are some ugly workarounds. But thanks for posting them.
I agree :(
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign up| Related Posts | Replies | Views | Activity | |
|---|---|---|---|---|
|
|
2
Mar 24
|
2842 | ||
|
|
0
Sep 23
|
6716 | ||
|
|
1
Aug 17
|
11169 | ||
|
|
1
Mar 15
|
7333 | ||
|
|
11
Apr 23
|
95868 |
A patch and some ideas on how to calculate totals have been added to the github issue. https://github.com/odoo/odoo/issues/4461#issuecomment-72199618