On Nov 14, 2007, at 4:25 AM, Alexandre Conrad wrote:
>
> Hi list,
>
> Here is my solution (thanks to jek from IRC).
>
> # Mappers
> channel_mapper = mapper(Channel, channel_table,
> properties = {
> "playlists":relation(PlaylistChannel,
> backref="channel",
> primaryjoin=and_(channel_table.c.id==
> playlist_channel_table.c.id_channel)),
> "active":relation(Playlist, post_update=True,
> primaryjoin=and_(channel_table.c.id_playlist==
> playlist_table.c.id))
> },
> order_by=channel_table.c.name,
> )
>
> That is one solution I was actually doing, but it turns out that I
> didn't know about the "post_update" argument... and this is not
> documented anywhere in the docs !
>
> This solution without the argument post_update=True turns out to
> yield a
> "CircularDependencyError":
>
> sqlalchemy.exceptions.CircularDependencyError: Circular dependency
> detected [(<PlaylistChannel: 2>, <Channel: Test TV>), (<Channel: Test
> TV>, <PlaylistChannel: 1>), (<Channel: Test TV>, <PlaylistChannel:
> 2>)][]
>
> ps: Ok, this is documented, but we need to look down in the generated
> API documentation of the relation() function. I think this should be
> pushed up somewhere in the docs. Here's a suggestion:
> http://www.sqlalchemy.org/docs/04/mappers.html#advdatamapping_relation_customjoin
>
I agree, i added a ticket for this...
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected]
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
-~----------~----~----~----~------~----~------~--~---