我有一个搜索语句如下
models.execute_kw(db, uid, password,'stock.move', 'search_read', [[['origin','=','INVOICE ## 44'],
['picking_type_id', '=', 2],
['product_id', '=', 123],
['state', '=', 'cancel']]],
)
我希望能够搜索已取消和已分配的记录。我尝试了以下几点。
models.execute_kw(db, uid, password,'stock.move', 'search_read', [[['origin','=','INVOICE ## 44'],
['picking_type_id', '=', 2],
['product_id', '=', 123],
['|', ['state', '=', "cancel"], ['state', '=', "assigned"]]]
)
但是,这将返回列表不是正确的操作符的错误。我已经检查了文档https://www.odoo.com/documentation/13.0/developer/reference/addons/orm.html,虽然他们有示例,但他们没有清楚地解释如何实现多个相同的状态或其他属性。
4条答案
按热度按时间hts6caw31#
如果我们想检查记录的多状态,我们可以简单地使用
in
操作符。试试这个
blmhpbnm2#
正如你可以在你自己的链接下找到以下部分:
可以使用前缀形式的逻辑运算符组合域条件:
'&'
逻辑AND,默认操作,用于组合一个接一个的条件。Arity 2(使用接下来的2个标准或组合)。'|'
逻辑OR,arity 2。'!'
逻辑非,arity 1。因此,对于您的示例,您可以删除
|
(OR)运算符,因为AND是默认值,不能设置。或者,如果您觉得&
更具可读性,可以将|
替换为&
。z9ju0rcb3#
对于任何其他有类似问题的人来说,上面的Kenly能够解决它,是一个语法问题。我无法找到一个明确的例子,这在任何地方在线,所以张贴在这里的情况下,任何人发现类似的问题。
dgjrabp24#