You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo 10 QWeb技术问题:判断单个sale.order.line记录是否在记录集中

判断QWeb模板中单个记录是否在记录集里

要解决你这个问题其实很简单,在Odoo的QWeb模板里直接利用记录集的in操作符就能实现判断。

核心逻辑

你的变量a是单个sale.order.line记录(ID为5),b是包含多个记录的sale.order.line记录集,在QWeb的条件判断中,直接用a in b就能检查a是否存在于b的记录集合里——Odoo会自动基于记录ID做匹配判断。

实际代码示例

假设这两个变量已经在模板上下文里可用,你可以这样写:

<!-- 当a在b中时显示内容 -->
<t t-if="a in b">
    <div class="alert alert-success">
        记录a包含在记录集b中!
    </div>
</t>
<!-- 否则显示另一段内容 -->
<t t-else="">
    <div class="alert alert-warning">
        记录a不在记录集b中!
    </div>
</t>

额外注意事项

  • 如果a有可能是空记录或者False,建议先做非空判断,避免模板渲染报错:
    <t t-if="a and a in b">
        <!-- 你的内容 -->
    </t>
    
  • 必须保证a和b属于同一个Odoo模型(这里都是sale.order.line),跨模型的in判断不仅会返回False,还可能引发不必要的异常。

内容的提问来源于stack exchange,提问作者M.E.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:13:30