gpt4 book ai didi

python - 如何在搜索函数中取消 OR 中的 AND?在 Odoo 9

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:32 24 4
gpt4 key购买 nike

我想在 odoo 9 的搜索功能中对 OR 中的 AND 运算符进行 anidate。

我有这两个条件:

A = self.env['sale.order'].search(['&', ('state', '=', 'done'), ('id', '>', my_id)])
B = self.env['sale.order'].search([('date_order', '>', my_date)])

这些条件每个单独工作都很好,但我需要 AB

我试过这个:

C = self.env['sale.order'].search(['|', ('date_order', '>', my_date), ('&', ('state', '=', 'done'), ('id', '>', my_id))])

那是行不通的。它给了我这个错误:

ValueError: "Invalid leaf ('&', ('state', '=', 'done'), ('id', '>', my_id))" while evaluating

设置条件的正确方法是什么?

最佳答案

这应该始终在二元组之前使用运算符:

    C = self.env['sale.order'].search(['|', ('date_order', '>', my_date), '&', ('state', '=', 'done'), ('id', '>', my_id)])

编辑:

这与:

    ('date_order', '>', my_date)  OR (('state', '=', 'done') AND ('id', '>', my_id))

示例:

     A and (B or ( C AND D))

A and (B or (AND, C, D))

A and,( or, B, AND, C, D)

and, A, or, B, AND, C, D

关于python - 如何在搜索函数中取消 OR 中的 AND?在 Odoo 9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43741256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com