]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Fix enable_relationship_loading() works fine w/ one-to-many
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 2 Mar 2018 15:45:42 +0000 (10:45 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 2 Mar 2018 15:47:15 +0000 (10:47 -0500)
Change-Id: I6efb62afa02be4d42482cfdbec739a5c6ab32bd7

lib/sqlalchemy/orm/session.py

index 5a27140ac54fbf399c6a1e886b4cc0122bf20bea..13f78317cf7b050c98fac04045545a1d57954c02 100644 (file)
@@ -2112,9 +2112,9 @@ class Session(_SessionClassMethods):
         Accesses of attributes mapped with :func:`.relationship`
         will attempt to load a value from the database using this
         :class:`.Session` as the source of connectivity.  The values
-        will be loaded based on foreign key values present on this
-        object - it follows that this functionality
-        generally only works for many-to-one-relationships.
+        will be loaded based on foreign key and primary key values
+        present on this object - if not present, then those relationships
+        will be unavailable.
 
         The object will be attached to this session, but will
         **not** participate in any persistence operations; its state
@@ -2135,6 +2135,8 @@ class Session(_SessionClassMethods):
         To make a transient object associated with a :class:`.Session`
         via :meth:`.Session.enable_relationship_loading` pending, add
         it to the :class:`.Session` using :meth:`.Session.add` normally.
+        If the object instead represents an existing idenity in the database,
+        it should be merged using :meth:`.Session.merge`.
 
         :meth:`.Session.enable_relationship_loading` does not improve
         behavior when the ORM is used normally - object references should be