Mike, thanks for the clarification. I never noticed that particular
implication of the default cascade!


On Mon, Apr 1, 2013 at 1:23 PM, Michael Bayer <[email protected]>wrote:

>
> On Apr 1, 2013, at 2:10 PM, Michael Merickel <[email protected]> wrote:
>
> > I ran into a situation the other day where I would create a new object
> but copy over some properties from an earlier version of the object. To do
> this, I first created the new object, then I queried the database for the
> latest copy of the object, copied properties to the new object, then added
> the new object to the session and committed. I was very surprised to
> discover that the new object (which was not added to the session) was
> returned from the database query as the "latest" object.
> >
> > bar = session.query(Bar).first()
> >
> > new_foo = Foo()
> > new_foo.bar = bar # apparently causes new_obj to be added to the session
>
> this behavior is known as "cascade", and is described in detail here:
> http://docs.sqlalchemy.org/en/rel_0_8/orm/session.html#cascades  .  It
> can be fully customized, but it seems like you are at least expecting basic
> forwards-direction "save-update" cascade to occur.
>
> Cascade also takes place during backref events.  The specific behavior
> regarding bi-directional cascades due to backrefs, as well as controlling
> their behavior using the "cascade_backrefs" flag, is here:
>
>
> http://docs.sqlalchemy.org/en/rel_0_8/orm/session.html#controlling-cascade-on-backrefs
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to