jean-philippe dutreve wrote: > Hi all, > > I wonder if SA can handle this use case: > > An Account can contain Entries ordered by 'position' attribute. > > mapper(Account, table_accounts, properties = dict( > entries = relation(Entry, lazy=True, collection_class=ordering_list > ('position'), > order_by=[table_entries.c.position], > passive_deletes='all', cascade='save-update', > backref=backref('account', lazy=False), > ), > )) > > I'd like to move an entry from accountA to accountB and let SA remove > the link between the entry and accountA: > > entry = accountA.entries[0] > insort_right(accountB.entries, entry) > assert not entry in accountA.entries # false, entry is still in > accountA !!!! > > It is possible?
Try removing the entry from accountA: entry = accountA.pop(0) ... Also beware that bisect insort has a bug that prevents it from working properly with list subclasses like ordering_list (or any SA list-based collection). I think it's fixed in Python 3.0, not sure if the fix was backported to 2.x. --~--~---------~--~----~------------~-------~--~----~ 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 sqlalchemy+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---