two clarifications: in my case the relation cascade is 'all, delete-orphan'. But in the case I'm running into, all of the children are unpersisted before the flush.
and the exception I get is not a complaint about an orphan, it's a database error when SA tries to persist the (typ='a') item, but does not populate it's parent id. On Jan 17, 2008 7:32 PM, jason kirtland <[EMAIL PROTECTED]> wrote: > > Rick Morrison wrote: > > def setProp(self, new_prop, exclusive=True): > > if exclusive: > > self.props = [p for p if p.typ != new_prop.typ] > > self.props.append(new_prop) > > > > o = MappedObject() > > o.setProp(Prop(typ='a', val='b') > > o.setProp(Prop(typ='b', val='c') > > > > MappedObject has a simple relation() for Prop. > > > > at flush() time, the prop for (typ='b') is saved, but the one for > > (typ='a') throws an error on the database insert saying that > > table.foreignkey is null > > You'd need delete-orphan in the cascade for that relation to dispose of > all of the instances you're discarding. > > But it looks like the trunk is still complaining about 'instance <...> > is an unsaved, pending instance and is an orphan[...]'. I thought that > condition had been changed to a warning or a no-op somewhere around > 0.4.0, guess it didn't. > > I don't think the discussion about discarding unpersisted collection > orphans made the hop onto the list (IRC only) - anyone have an opinion? > I think I'm still in favor of quashing this exception. > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---