[sqlalchemy] Re: autoflush during instanciation

2009-01-29 Thread GustaV
I quite sure I'm not using it... Look at that code that reproduce the bug http://utilitybase.com/paste/11481 The last line (p2 = Parent(p)) leads to a load of the children, so an autoflush. I have a failure with 0.5.2: sqlalchemy.exc.IntegrityError: (IntegrityError) parent.dumb may not be NULL

[sqlalchemy] Re: autoflush during instanciation

2009-01-29 Thread Michael Bayer
that's the cascade of p2 being added to the session upon being associated with the in-session items in p.children. So yes, cascade rules do add things to the session. setting cascade=None on Child.parent would prevent it, or alternatively you can turn off autoflush on the session for

[sqlalchemy] Re: autoflush during instanciation

2009-01-28 Thread Michael Bayer
On Jan 28, 10:45 am, GustaV buisson.guilla...@gmail.com wrote: Hi all, In the __init__ method of a mapper, the load of a relation may lead to an autoflush operation. When it happens, the object being instanciated is already in the session and so INSERTed in the flush, whereas it is not

[sqlalchemy] Re: autoflush during instanciation

2009-01-28 Thread GustaV
I'm using Declarative extension actually. In the pylons framework, the session initialise like this def init_model(engine): Call me before using any of the tables or classes in the model sm = orm.sessionmaker(autoflush=True, autocommit=False, bind=engine) meta.engine = engine

[sqlalchemy] Re: autoflush during instanciation

2009-01-28 Thread Michael Bayer
On Jan 28, 2009, at 11:21 AM, GustaV wrote: I'm using Declarative extension actually. In the pylons framework, the session initialise like this def init_model(engine): Call me before using any of the tables or classes in the model sm = orm.sessionmaker(autoflush=True,