Any suggestion helping solving this? On 25 août, 13:02, Martin-Leon Francois <francois....@gmail.com> wrote: > Hi, > > I am trying in the same session to detach an instance from a collection ( > one to many) > flush and commit everything (all is ok) and then attach the removed instance > again. unsuccessfully. > > in below code, last "assert" fails. > I don't understand why I am not able to append m2 to o1.to_many collection > once removed. > > Any idea? ( I use sa 0.5.6) > > thanx, Francois > > meta = MetaData() > tb_one = Table("one", meta, > Column('name',String(50)), > Column('id',Integer, primary_key=True)) > > tb_many = Table("many", meta, > Column('name',String(50)), > Column('id',Integer, primary_key=True), > Column('one_id', Integer, > ForeignKey(tb_one.c.id,ondelete='CASCADE'), nullable=False),) > > class One(object): > def __init__(self, name): > self.name = name > > class Many(object): > def __init__(self, name): > self.name = name > > mapper_one = mapper(One,tb_one) > mapper_many = mapper(Many, tb_many, > properties = dict( > to_one = relation(One,uselist=False, > backref=backref('to_many', cascade="save-update, merge, delete, > delete-orphan"),))) > > engine = create_engine(....) > Session = orm.sessionmaker(autoflush=True, autocommit=False, bind=engine) > > meta.bind = engine > meta.drop_all(checkfirst=True) > meta.create_all(checkfirst=True) > > s = Session() > m1 = Many("M1") > m2 = Many("M2") > o1 = One("One") > o1.to_many.append(m1) > o1.to_many.append(m2) > > s.add_all([m1,m2,o1]) > s.flush() > s.commit() > assert(len(o1.to_many) == 2) > > o1.to_many.remove(m2) > assert(len(o1.to_many) == 1) > s.flush() > s.commit() > assert(len(o1.to_many) == 1) > > o1.to_many.append(m2) > assert(len(o1.to_many) == 2) > s.flush() > s.commit() > assert(len(o1.to_many) == 2) #this assert fails why? > > s.close()
-- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@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.