SQLAlchemy 多个 Where 条件

SQLAlchemy Multiple Where Condition

我有一个订单 table。我想用多个条件对此 table 编写查询。例如,我想获得包含 id 字段 1 和 order_status 字段 3 的订单。

有没有办法用 SQL Alchemy 做到这一点?

P.S。我只能通过以下查询检查一个条件。

order = Orders.query.filter_by(restaurant_id = restaurant_id).all()

有多种方法可以做到这一点,例如,如果您想应用一个 and 操作,您可以简单地使用过滤器链,如下所示

order = Orders.query.filter(restaurant_id = restaurant_id).filter(id = 1).filter(order_status = "Status").all()

您还可以使用 and_or_ 来应用相应的条件,如下所示。

cond = and_(restaurant_id = restaurant_id, id = 1)
order = Orders.query.filter(or_(cond, order_status = "Status")).all()