Odoo 9 qweb 浮点数除以零

Odoo 9 qweb float division by zero

如果折扣不是 0,折扣为 0 时如何在下面的 qweb 报告中设置条件。

<td class="text-right">
       <span t-esc="l.price_unit-(l.price_unit/l.discount)"/>
</td>

            <td class="text-right">
                <span t-field="l.quantity"/>
            </td>
            <td class="text-right">
                <span t-field="l.price_unit"/>
            </td>
            <td t-if="display_discount" class="text-right" groups="sale.group_discount_per_so_line">
                <span t-field="l.discount"/>
            </td>
            <td class="text-right">
                <span t-esc="l.price_unit-(l.price_unit/l.discount)"/>
            </td>

        </tr>

如果折扣为 0

<td class="text-right">
           <span t-esc="l.price_unit"/>
</td>

elif

<td class="text-right">
      <span t-esc="l.price_unit-(l.price_unit/l.discount)"/>
</td>

有什么简单的解决办法吗?

请查看 qweb 模板引擎的 official documentation。那里有一个名为 t-if

的条件结构

在你的情况下这应该有效:

<t t-if="l.discount == 0">
   <td class="text-right">
           <span t-esc="l.price_unit"/>
   </td>

</t>

<t t-if="l.discount != 0">

    <td class="text-right">
      <span t-esc="l.price_unit-(l.price_unit/l.discount)"/>
    </td>

</t>

目前还没有 else 运算符,因此您将不得不使用两个连续的 ifs

编辑: 在 v10 上创建了一个 t-else 运算符,您可以使用它。