Python Peewee 动态或条件

6 投票
1 回答
2591 浏览
提问于 2025-04-17 21:12

我想在查询的时候动态地使用OR来连接多个条件。我在peewee的文档里看到:

import operator
or_clauses = reduce(operator.or_, clauses)  # OR together all clauses

不过,这段说明有点不太清楚。到底clauses应该设置成什么呢?有没有人能提供一些示例代码?

1 个回答

15

在这个例子中,clauses(子句)其实就是一系列的表达式,抱歉之前说得不太清楚。

你可以写成这样:

clauses = [
    (User.username == 'something'),
    (User.something == 'another thing'),
    ...
]
User.select().where(reduce(operator.or_, clauses))

撰写回答