如何在SQLAlchemy中进行安全(约束)隐式连接?

时间:2013-05-03 10:24:52

标签: sqlalchemy

我认为一个受其外键约束的安全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),但正如我所说的,我想要一个隐含的语法,如果失败就会咆哮。

1 个答案:

答案 0 :(得分:0)

SQLAlchemy已经这样做了。

不幸的是,该教程另有建议,API文档也没有明确说明。