如何在Qweb中使用特定数量的循环进行"for-loop"?

Che*_*uCR 7 xml for-loop odoo qweb odoo-8

我想制作一个循环来精确打印元素.像这样的东西:

<t t-for="o.label_qty" >
...
</t>
Run Code Online (Sandbox Code Playgroud)

哪里o.label_qty是整数.

但我只能t-foreach在qweb中使用循环:

<t t-foreach="o.pack_operation_ids" t-as="l" >
...
</t>
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

如果不是,我认为唯一的解决方案是创建一个带有o.label_qty元素的虚拟列表并将其写入foreach.

Dan*_*eis 10

t-foreach指令接受Python表达式.所以,你可以range()像在Python for循环中一样使用:

<t t-foreach="range(o.label_qty)" t-as="l">
...
</t>
Run Code Online (Sandbox Code Playgroud)


DAS*_*NYA 7

是的,它完全有可能在Odoo Qweb报告中你只需要添加以下方式来做这样的事情

     <t t-foreach="o.pack_operation_ids" t-as="l" >
         <td class="col-xs-1">
             <span t-esc="l_index+1"/>
         </td>
     </t>
Run Code Online (Sandbox Code Playgroud)

<span> tag打印我们的qweb报告时,听到打印总计没有时间循环将被执行. 索引是它的一部分Qweb Template Engine所以听到它总是从一开始0 element.

我希望我的回答可以帮到你:)