sqlalchemy 1.3 中的交叉连接

Ана*_*ева 5 python sqlalchemy

我不明白如何使用交叉联接连接两个表。早些时候,在 sqlalchemy 版本 1.1.4 中,我这样做:

A = Table1.sa 
B = Table2.sa
my_query = A.query().join(B, literal(True))
Run Code Online (Sandbox Code Playgroud)

但更新到 1.3 版本后,出现异常:

sqlalchemy.exc.InvalidRequestError:无法确定从哪个 FROM 子句加入,有多个 FROM 可以加入到该实体。尝试添加显式 ON 子句以帮助解决歧义。

我明白这意味着我必须做这样的事情:

my_query = A.query().join(B, A.fireign_key_id = B.id)
Run Code Online (Sandbox Code Playgroud)

但是表A没有表B的外键。

如何使用交叉连接而不使用外键连接两个表?谢谢。

Ана*_*ева 6

感谢您的所有回答。引发异常,因为查询无法确定剩下哪个表,并且在 query(...) 中使用表 B 的字段。在我显式指示左表后,此异常消失了。

my_query = A.query(...).join(B, A.id != None)
Run Code Online (Sandbox Code Playgroud)