i'm not expert on these, but i think u need something like cascade='all' on your relation, _instead_ of the mapperExt. check the docs about possible settings. the mapperExt fires too late and the session flush-plan gets surprised.
On Thursday 27 November 2008 08:15:04 David Harrison wrote: > Hey all, > > I've got a situation where I have 2 object A and B, and a third > object C that has a foreign key reference to both A and B. I can > have many C's that map to the same A. > > Now I've implemented a MapperExtension for C that has an > after_delete function, and that function checks to see if the A > that the deleted C was mapped to has any other mappings, and if > there are no other mappings left, deletes the A. > > Now this works fine if I'm just deleting C's directly, however as > soon as this happens during a cascade delete from some other object > D that happens to have a mapping to C I get the below error - I'm > assuming this is because sqlalchemy has a test condition that > doesn't see my mapper coming, and freaks out when extra rows get > nuked. > > "ConcurrentModificationError: Deleted rowcount 0 does not match > number of objects deleted 4" > > Help ? > > Cheers > Dave > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---