当我使用statement as
连接两个表(对象)时session.query(object, robject).filter(getattr(object.c, "hid")==getattr(robject.c,\
)).subquery()
结果列引用“hid”不明确,因为两个表都有hid列。 我该如何解决这个问题?
谢谢
答案 0 :(得分:0)
对于子查询,您通常只想命名您需要的列(因为subq不用于加载完整对象),然后您可以使用label()进行其他任何操作:
subq = sess.query(object.a, object.b, object.hid.label('o_hid'),
robject.c, robject.hid.label('r_hid')).filter(..).subquery()
子查询然后根据标签名称命名这些列:
query(Something).join(subq, subq.c.o_hid == Something.q).filter(subq.c.r_hid == 5)