如何在先前查询满足的条件下正确执行子查询或过滤器

how to do a subquery or filter in a condition met by a previous query correctly

我正在使用 pythonflasksqlalchemy 有以下查询:

query = db.session.query(model.Foo1, model.Foo2).join(model.Foo1, model.Foo1.id == model.Foo2.name_id).first()

现在假设我要搜索条件 Foo1.id != 2 但仍要确保我满足上述查询的条件,实现该条件的最佳方法是什么(我正在努力学习如何正确执行 subqueryfilter in another query

感谢帮助

对于 Foo1.id != 2 您不需要子查询。过滤器就够了。

result = db.session.query(model.Foo1, model.Foo2)\
         .join(model.Foo1, model.Foo1.id == model.Foo2.name_id)\
         .filter(model.Foo1.id != 2).all()

这将 return 列出所有 ID 不等于 2 的行