SQLAlchemy:创建一个故意空的查询?

Dav*_*ver 27 python sqlalchemy

在SQLAlchemy中创建故意空查询的最佳方法是什么?

例如,我有一些构建查询的函数(WHERE例如添加子句),在某些时候我知道结果将为空.

创建不返回任何行的查询的最佳方法是什么?像Django的东西QuerySet.none().

Dag*_*ahl 24

如果您需要正确的返回类型,请返回session.query(MyObject).filter(sqlalchemy.sql.false()).

在评估时,这仍然会击中DB,但它应该很快.

如果您没有"查询"的ORM类,您也可以使用false()它: session.query(sqlalchemy.false()).filter(sqlalchemy.false())


gao*_*idf 7

db_session(YourModel).query.filter(False)
Run Code Online (Sandbox Code Playgroud)


Dav*_*ver 3

根据http://www.mail-archive.com/sqlalchemy@googlegroups.com/msg25783.html,截至2011年12月11日,SQLAlchemy中没有EmptyQuery类型对象。