带有子查询的SQLAlchemy中的Backref

时间:2014-02-27 16:21:58

标签: python orm sqlalchemy

我正在使用子查询来执行过滤器(选择其属性值小于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'

我该如何解决这个问题。我应该使用子查询以外的东西吗?目标是创建子集,然后遍历他们的关系。

0 个答案:

没有答案