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



我只是学习SQL炼金术和使用ORM拉入记录。

然而,有一些函数似乎是唯一的其他方式拉入记录,如sqlalchemy.and_', sqlalchemy。or_"等。

我想知道我如何使用ORM,但仍然采用一些"或"子句,所以我可以做这样的事情:给定一个ORM对象Person选择所有记录,其中姓氏是"史密斯"或"李"或"主教",但排除年龄小于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)
    )

相关内容

最新更新