Is it planned for 0.6? or earlier? Anyway thanks: I stop trying all the combinations right now! :)
On 15 jan, 18:30, Michael Bayer <[email protected]> wrote: > There's various error conditions we should have added in 0.5 but have > not. We should look into raising warnings in 0.5 and raising errors > in 0.6. The conditions are, using "delete-orphan" without "delete", > and using "delete-orphan" with "secondary". Neither is supported at > this time. > > On Jan 15, 2009, at 11:30 AM, GustaV wrote: > > > > > Hi all, > > I try to set up a many-to-many relation with an association object. > > > But I want something not usual: I want the child object deleted when > > not owned by any parent anymore. > > This is for a messages/recipients relation: the message is useless > > when everybody removed it from its mailbox! > > > I tried that, but it doesn't work: > > > class Parent(meta.DeclarativeBase): > > id = Column(types.Integer, primary_key=True) > > > class Child(meta.DeclarativeBase): > > id = Column(types.Integer, primary_key=True) > > > class Assoc(meta.DeclarativeBase): > > p_id = Column(types.Integer, > > ForeignKey(Parent.id)) > > c_id = Column(types.Integer, > > ForeignKey(Parent.id)) > > > parent = relation(Parent, > > backref=backref('children', > > cascade='all, delete-orphan')) > > child = relation(Child, > > backref='parents', > > cascade='delete-orphan') > > > I expect "child = relation(Child, backref='parents', cascade='delete- > > orphan')" to forward deletes to child when it is an orphan. But it > > looks like it forward the delete even if it is not an orphan yet... > > > It that configuration: > > > p1 = Parent() > > p2 = Parent() > > c = Child() > > assoc1 = Assoc(parent=p1, child=c) > > assoc2 = Assoc(parent=p2, child=c) > > > p1.children = [ ] will lead to: > > - delete assoc1 (ok) > > - delete c (not ok) > > - update assoc2.c_id = null (not ok) > > > So why is it not really a delete-orphan? :) > > > Thanks > > > GustaV --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
