summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Taylor Yates <evantayloryates@gmail.com>2020-10-13 12:21:30 -0700
committerGitHub <noreply@github.com>2020-10-13 12:21:30 -0700
commit7740ce6900ad3e65364660a270cc72458421433a (patch)
tree9656ec3da39f5a96b00aa46f8cfa3abe429c0e90
parentc6eca2271770308bac2747f0c32030ffaf8d7747 (diff)
downloadsqlalchemy-7740ce6900ad3e65364660a270cc72458421433a.tar.gz
Add discussed changes
PR link: https://github.com/sqlalchemy/sqlalchemy/pull/5636
-rw-r--r--doc/build/orm/cascades.rst9
1 files changed, 4 insertions, 5 deletions
diff --git a/doc/build/orm/cascades.rst b/doc/build/orm/cascades.rst
index 8a2a94876..528e69a97 100644
--- a/doc/build/orm/cascades.rst
+++ b/doc/build/orm/cascades.rst
@@ -93,12 +93,11 @@ becomes part of the state of that :class:`.Session`::
>>> address3 in sess
>>> True
-``save-update`` has the possibly surprising behavior which is that
-persistent objects which were *removed* from a collection
-(or in some cases a scalar attribute)
-may also be pulled into the :class:`.Session` of a parent object; this is
+A ``save-update`` cascade can exhibit surprising behavior when removing an item from
+a collection or de-associating an object from a scalar attribute. In some cases, the
+orphaned objects may still be pulled into the ex-parent's :class:`.Session`; this is
so that the flush process may handle that related object appropriately.
-This case can usually only arise if an object is removed from one :class:`.Session`
+This case usually only arises if an object is removed from one :class:`.Session`
and added to another::
>>> user1 = sess1.query(User).filter_by(id=1).first()