From: http://www.sqlalchemy.org/docs/orm/relationships.html?highlight=backref#association-object
I'm able to get the association to work, and according to the docs, adding the backref allows the query to be executed in reverse. How do I get the Parent of Child #1? Obviously I could query Child, but my template is set to output based on Parent. If I do the following, I get: AttributeError: Neither 'InstrumentedAttribute' object nor 'Comparator' object has an attribute 'id' content = DBSession.query(Parent).filter(Child.id==1).all() constructs the query incorrectly (well, incorrectly for what I'm trying to accomplish) SELECT "left".id AS left_id FROM "left", "right" WHERE "right".id = :id_1 code follows: Base = declarative_base() class Association(Base): __tablename__ = 'association' left_id = Column(Integer, ForeignKey('left.id'), primary_key=True) right_id = Column(Integer, ForeignKey('right.id'), primary_key=True) child = relationship("Child", backref="parent_assocs") class Parent(Base): __tablename__ = 'left' id = Column(Integer, primary_key=True) children = relationship(Association, backref="parent") def __repr__(self): return '<Parent: id: %d children %s>' % (self.id, self.children) class Child(Base): __tablename__ = 'right' id = Column(Integer, primary_key=True) def __repr__(self): return '<Child: id: %d>' % self.id content = DBSession.query(Parent).filter(Parent.children.id==1).all() print content -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.