Re: [Sqlalchemy-users] Circular dependancies

2006-09-06 Thread Nick Joyce
It seems that an error is raised when a deleted node is flushed when post_update flag is set (See attached test case). Working with rev 1855. After the second flush, the expected sql output should be: [engine]: UPDATE node SET prev_sibling_id=? WHERE node.id = ? [engine]: [2, 4] [engine]: UPDATE

Re: [Sqlalchemy-users] Circular dependancies

2006-09-05 Thread Michael Bayer
I should note that the relationship you are actually trying to set up includes a circular relationship between two individual rows. by default this is impossible to accomplish with only INSERT statements and not violate foreign key constraints. to break this circular relation you have to

Re: [Sqlalchemy-users] Circular dependancies

2006-09-05 Thread Michael Bayer
you need it on 'parent' also On Sep 5, 2006, at 12:55 PM, Nick Joyce wrote: > I had specified the foriegnkeys for previous/next_sibling to > node_table.c.id, but it appeared to make no difference, so I removed > them in case is was casing a problem. > > Setting these relations to your suggestion

Re: [Sqlalchemy-users] Circular dependancies

2006-09-05 Thread Nick Joyce
I had specified the foriegnkeys for previous/next_sibling to node_table.c.id, but it appeared to make no difference, so I removed them in case is was casing a problem. Setting these relations to your suggestion still fires the same error. Michael Bayer wrote: > your relationships are not being se

Re: [Sqlalchemy-users] Circular dependancies

2006-09-05 Thread Michael Bayer
your relationships are not being set up correctly, since you haven't specified a "foreignkey" parameter on any of them. note that the "root" relationship in the documentation example has a "foreignkey" set on it. when you say: > node_table.c.parent_id==node_table.c.id the "foreignkey" is

[Sqlalchemy-users] Circular dependancies

2006-09-05 Thread Nick Joyce
I am attempting to extend the self referential example in the docs http://www.sqlalchemy.org/docs/index.myt?paged=no#advdatamapping_circular by adding properties 'prev_sibling' and 'next_sibling'. (See attached script) When run, the following exception is raised: Traceback (most recent call last)