当外键引用同一个表时,如何从单个表中连接两列?

时间:2014-07-24 00:41:16

标签: sqlalchemy

我有两个表,一个名为locations,另一个名为work_packages,如图所示:

table

我希望能够查询work_packages表中的行,并获取与外键location_alocation_z关联的列。我尝试过的所有内容都会导致错误。

我目前的型号如下:

currentmodel

这就是我一直在使用的查询:

query

执行查询: executing

现在,我已经尝试了一些模型和查询的变体,但我所做的一切都没有效果。我收到错误,例如' Column没有属性Mapper'和AmbiguousForeignKeyError的许多不同色调'。

错误消息表明我需要更具体地说明两个表应该如何连接,但是当我以正确的方式这样做时,我会感到茫然。

真的可以使用一些指导,谢谢。

1 个答案:

答案 0 :(得分:0)

您是否尝试在关系中明确设置主连接? E.g:

a_side_name = relationship('locations', primaryjoin='locations.uid==work_packages.location_a')
z_side_name = relationship('locations', primaryjoin='locations.uid==work_packages.location_z')