我正在使用子查询来执行过滤器(选择其属性值小于40的对象)。 对于这些对象,我想使用backref来访问关系引用的对象。 这不起作用。这是代码大纲。
class home(Base):
__tablename__='home_table'
hid = Column(..)
class person(Base):
href = relationship("home", backref('hometable', order_by=hid)
#### this works ###############
for p in session.query(persons).all():
print p.home # this works
###### this doesn't work ########
stmt = session.query(persons).filter(<some filter>).subquery()
for p in session.query(stmt).all():
print p.home ### fails, error: 'NamedTuple' object has no attribute 'house_hold'
我该如何解决这个问题。我应该使用子查询以外的东西吗?目标是创建子集,然后遍历他们的关系。