gpt4 book ai didi

orm - 在 SQL Alchemy ORM 上实现 and、or 和 not 查询

转载 作者:行者123 更新时间:2023-12-02 22:04:57 24 4
gpt4 key购买 nike

我正在学习 SQL Alchemy 并使用 ORM 来提取记录。

但是,有些函数似乎是另一种拉入记录的方式所独有的,例如 sqlalchemy.and_'、sqlalchemy.or_' 等。

我想知道如何使用 ORM,但仍然使用一些“OR”子句,这样我就可以做如下事情:给定一个 ORM 对象 Person 选择姓氏为“Smith”的所有记录或“Lee”或“Bishop”,但不包括年龄小于 18 岁的记录。

这是否只有在我使用 ORM 时才有可能?

最佳答案

默认情况下,filter 子句附加有 AND。所以下面的代码会做到这一点:

from sqlalchemy import or_

qry = (session.query(Person).
filter(or_(Person.LastName == 'Smith', Person.LastName == 'Lee', Person.LastName == 'Bishop')).
filter(Person.age >= 18)
)

关于orm - 在 SQL Alchemy ORM 上实现 and、or 和 not 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16289515/

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