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.
相关产品推荐
相关产品推荐

