On Apr 10, 2008, at 8:46 PM, Steve Zatz wrote:
> > I am not sure when the change was introduced but the following mapper, > which previously worked: > > mapper(Section, section_table, properties = {'items': relation(Item, > backref='section'), 'keywords':relation(Keyword, > primaryjoin > =and_(keyword_table.c.uuid==itemkeyword_table.c.keyword_uuid, > item_table.c.uuid==itemkeyword_table.c.item_uuid, > section_table.c.id==item_table.c.section_id), viewonly=True, > foreign_keys=[keyword_table.c.uuid], > remote_side=[item_table.c.section_id])}) > > now produces the following error: > > sqlalchemy.exceptions.ArgumentError: Could not determine relation > direction for primaryjoin condition 'keyword.uuid = > item_keyword.keyword_uuid AND item.uuid = item_keyword.item_uuid AND > section.id = item.section_id', on relation Section.keywords (Keyword). > Specify the foreign_keys argument to indicate which columns on the > relation are foreign. > > I am not sure what needs modification in the mapper to be compatible > with the current trunk. I've added this example as a unit test and will have to relax the "viewonly" rules a bit more to handle this - the "primaryjoin along many tables" use case which is not that unusual. I'll get back to you shortly. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---