using 5.5 from sqlalchemy import create_engine, Table, Column, ForeignKeyConstraint, MetaData, and_, String, Integer, ForeignKey from sqlalchemy.orm import relation, sessionmaker, synonym, join from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('sqlite:///:memory:') Base = declarative_base(bind=engine) class User(Base): __tablename__ = 'user' user_id = Column('user_id', Integer, primary_key=True) boston_addresses = relation('Address', primaryjoin = and_ ('User.user_id==Address.user_id', 'Address.city=="Boston"'), foreign_keys = ['Address.user_id']) class Address(Base): __tablename__ = 'address' user_id = Column('user_id', Integer, ForeignKey(User.user_id), primary_key=True) seq = Column('seq', Integer, primary_key=True) city = Column('city', String) session = sessionmaker()() session.query(User) gives: sqlalchemy.exc.ArgumentError: Could not determine relation direction for primaryjoin condition 'User.user_id==Address.user_id AND Address.city=="Boston"', on relation User.boston_addresses. Do the columns in 'foreign_keys' represent only the 'foreign' columns in this join condition ? Thanks --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@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 -~----------~----~----~----~------~----~------~--~---