peewee ORM 多个fileter 或关系
时间: 2024-05-02 16:16:50 浏览: 109
peewee-async:由asyncio驱动的peewee ORM的异步接口
在使用 Peewee ORM 进行查询时,可以使用多个 `filter` 条件来组合查询条件。这些条件之间默认是与关系,即所有条件都必须满足才会返回结果。
如果希望使用或关系来组合条件,可以使用 `|` 运算符。例如:
```python
from peewee import *
# 假设有一个名为 User 的 Model
User.select().where((User.name == 'Alice') | (User.name == 'Bob'))
```
上述代码会返回 `name` 为 'Alice' 或 'Bob' 的所有用户。
如果需要使用多个或条件,可以在 `filter` 中嵌套使用 `|` 运算符。例如:
```python
User.select().where(
((User.name == 'Alice') | (User.name == 'Bob')) &
((User.age > 20) | (User.gender == 'female'))
)
```
上述代码会返回 `name` 为 'Alice' 或 'Bob',且年龄大于 20 或者性别为女性的所有用户。
阅读全文