我在SQLAlchemy中使用多态关联,如this example中所述。它也可以在SQLAlchemy源代码的examples目录中找到。
鉴于此设置,我想查询与Address
s关联的所有User
es。不是a user
而是any user
。
在原始SQL中,我可以这样做:
select addresses.* from addresses
join address_associations
on addresses.assoc_id = address_associations.assoc_id
where address_associations.type = 'user'
有没有办法使用ORM会话?
我可以运行这个原始SQL,然后将Address类应用于结果中的每一行吗?
答案 0 :(得分:2)
使用ORM的临时联接描述于:
http://www.sqlalchemy.org/docs/orm/tutorial.html#querying-with-joins
for address in sess.query(Address).join(Address.association).filter_by(type='users'):
print "Street", address.street, "Member", address.member