For anyone who needs this too, there is a small typo in the above example. It should be:
mapper(PGUser, pg_user, properties={ 'groups': relation(PGGroup, viewonly=True, primaryjoin=pg_user.c.usesysid==func.any(pg_group.c.grolist), foreign_keys=[pg_group.c.grolist], _local_remote_pairs=[(pg_user.c.usesysid, pg_group.c.grolist)])}) On Apr 14, 11:26 pm, Koen Bok <[EMAIL PROTECTED]> wrote: > Wow that is fast! > > Thanks man ;-) > > On Apr 14, 5:51 pm, Michael Bayer <[EMAIL PROTECTED]> wrote: > > > On Apr 14, 2008, at 7:44 AM, Koen Bok wrote: > > > > Hey All, > > > > I was upgrading our app from 0.4.1 to 0.4.5 and this code broke: > > > > pg_user = Table('pg_user', metadata, > > > Column('usesysid', Integer, primary_key=True), > > > Column('usename', Unicode(), unique=True)) > > > > pg_group = Table('pg_group', metadata, > > > Column('grosysid', Integer, primary_key=True), > > > Column('groname', Unicode(), unique=True), > > > Column('grolist', PGArray(unicode))) > > > > mapper(PGUser, pg_user, properties={ > > > 'groups': relation(PGGroup, viewonly=True, > > > primaryjoin=pg_user.c.usesysid==func.any(pg_group.c.grolist), > > > foreign_keys=[pg_group.c.grolist])}) > > > use the trunk and say: > > > mapper(PGUser, pg_user, properties={ > > 'groups': relation(PGGroup, viewonly=True, > > primaryjoin=pg_user.c.usesysid==func.any(pg_group.c.grolist), > > foreign_keys=[pg_group.c.grolist], > > _local_remote_pairs=[pg_user.c.usesysid, pg_group.c.grolist] > > )}) > > > this doesn't yet handle the full blown "functions/casts in primaryjoin > > conditions" ticket but its part of the way there. --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---