Hi list, Sorry if this is trivial, I'm relatively new to sqlalchemy. I'm trying to set a one to many relationship between class Foo and class Bar (ie Foo should have a list of Bars). Foo has a composite primary key.
################################# from sqlalchemy import * from sqlalchemy.orm import * from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Foo(Base): __tablename__ = "foo" one = Column(Integer, primary_key=True) two = Column(Integer, primary_key=True) class Bar(Base): __tablename__ = "bar" id = Column(Integer, primary_key=True) one_id = Column(Integer, nullable=False) two_id = Column(Integer, nullable=False) ForeignKeyConstraint(["one_id", "two_id"], ["foo.one", "foo.two"]) foo = relationship("Foo", backref = "bars") metadata = Base.metadata engine = create_engine('sqlite:///:memory:', echo=True) metadata.create_all(engine) from sqlalchemy.orm import sessionmaker # create a configured "Session" class Session = sessionmaker(bind=engine) # create a Session session = Session() foo = Foo() foo.one = 1 foo.two = 2 session.add(foo) session.commit() ############################# I get the following message: sqlalchemy.exc.ArgumentError: Could not determine join condition between parent/child tables on relationship Bar.foo. Specify a 'primaryjoin' expression. I tried to change the relationship line to: foo = relationship("Foo", backref = "bars", primaryjoin=and_(one_id == Foo.one, two_id==Foo.two ) ) but then I get this message: sqlalchemy.exc.ArgumentError: Could not determine relationship direction for primaryjoin condition 'bar.one_id = foo.one AND bar.two_id = foo.two', on relationship Bar.foo. Ensure that the referencing Column objects have a ForeignKey present, or are otherwise part of a ForeignKeyConstraint on their parent Table. Thank you for your help! -- 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.