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
-~----------~----~----~----~------~----~------~--~---

Reply via email to