1

我认为一个安全的 JOIN 受其外键约束。还有一个隐含的,只提到它的目标。

在 SQLAlchemy 中,session.query(User).join(Addresse)可能是约束,也可能不是约束,这取决于 SQLAlchemy 是否知道用户和地址之间的关系。

有时我构建一个复杂的查询,我想确保所有连接都是约束。我该如何检查?我最希望 SQLAlchemy 在隐式.join(table)找不到它的外键时给我一个例外......

“复杂查询”的示例:

session.query(addr_alias1).join(User).join(addr_alias2)

对于最后一个连接,一个过于明确的方式是.join(addr_alias2, User.addresses),但正如我所说,我想要一个隐式语法,如果它失败,它就会吠叫。

4

1 回答 1

0

SQLAlchemy 已经这样做了。

不幸的是,本教程提出了其他建议,API 文档并没有明确这一点。

于 2013-05-16T02:37:47.927 回答