Python 为什么这个查询没有';t工作(存在问题)

Python 为什么这个查询没有';t工作(存在问题),python,sql,sqlalchemy,exists,Python,Sql,Sqlalchemy,Exists,我正在努力处理这样的查询(由sqlalchemy生成。为了清晰起见,我将其重命名) 对于dx,dy=1,1和表: Table: id | x | y ----+---+--- 1 | 0 | 0 Table2: id | table_id ----+---------- 1 | 1 它应返回: cx | cy ----+---- 1 | 1 然而,第二个条件似乎返回false 编辑:SQLAlchemy中的事务刷新似乎有问题。我认为在执行查询(非O

我正在努力处理这样的查询(由sqlalchemy生成。为了清晰起见,我将其重命名)

对于dx,dy=1,1和表:

 Table:
  id | x | y
 ----+---+---
   1 | 0 | 0

 Table2:
  id | table_id
 ----+----------
  1  | 1
它应返回:

  cx | cy
 ----+----
   1 |  1
然而,第二个条件似乎返回false


编辑:SQLAlchemy中的事务刷新似乎有问题。我认为在执行查询(非ORM映射)时,它会自动刷新。但是,在这种情况下,似乎没有冲洗,或者冲洗顺序不正确。在任何情况下,添加额外的
model.DBSession.flush()
似乎可以解决问题。

编辑中所述,问题是在flush中。

如果它不返回
1 | 1
?我认为第1行应该是
选择table.x+:dx作为cx,table.y+:dy AS cy
我使用您的表结构和值进行了测试,查询返回
1 | 1
。我遗漏了什么?@Adam Bernier:看来你遗漏了SQLAlchemy中的查询缓存。看编辑。是的,我确实错过了。很高兴你明白了!
  cx | cy
 ----+----
   1 |  1