]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- small updates to polymorphic eager loading, cross-link from
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 11 Aug 2016 15:45:03 +0000 (11:45 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 11 Aug 2016 15:45:03 +0000 (11:45 -0400)
loading documentation

Change-Id: I3ce7e2cc521c4dd155195819a919017d4cc63b3c

doc/build/orm/inheritance.rst
doc/build/orm/loading_relationships.rst
lib/sqlalchemy/orm/util.py

index f640973c4a952edc3e6a6b417e716ab44a30e32d..fb4de7df3be92e9db761bbae977facb2dc329753 100644 (file)
@@ -500,7 +500,7 @@ can be loaded::
 
     manager_and_engineer = with_polymorphic(
                                 Employee, [Manager, Engineer],
-                                aliased=True)
+                                flat=True)
 
     session.query(Company).\
         options(
@@ -508,13 +508,6 @@ can be loaded::
             )
         )
 
-.. versionadded:: 0.8
-    :func:`.joinedload`, :func:`.subqueryload`, :func:`.contains_eager`
-    and related loader options support
-    paths that are qualified with
-    :func:`~sqlalchemy.orm.interfaces.PropComparator.of_type`, supporting
-    single target types as well as :func:`.orm.with_polymorphic` targets.
-
 Another option for the above query is to state the two subtypes separately;
 the :func:`.joinedload` directive should detect this and create the
 above ``with_polymorphic`` construct automatically::
index 941edce2c41f5c998504c0cbfd173b7187e7296b..ba5f23aa372655bcccf7b4a842bef1afb4544307 100644 (file)
@@ -178,6 +178,14 @@ of a particular attribute, the :func:`.defaultload` method/function may be used:
     as well as the ``_all()`` functions will remain available for backwards-
     compatibility indefinitely.
 
+Polymorphic Eager Loading
+-------------------------
+
+Specification of polymorpic options on a per-eager-load basis is supported.
+See the section :ref:`eagerloading_polymorphic_subtypes` for examples
+of the :meth:`.PropComparator.of_type` method in conjunction with the 
+:func:`.orm.with_polymorphic` function.
+
 Default Loading Strategies
 --------------------------
 
index f76be0380498ab9f0098bea80fa02969fa515b9f..afd2f999788a24066e041b5db148da086c92f924 100644 (file)
@@ -692,11 +692,11 @@ def with_polymorphic(base, classes, selectable=False,
         versions of MySQL.
 
     :param flat: Boolean, will be passed through to the
-        :meth:`.FromClause.alias` call so that aliases of :class:`.Join`
-        objects don't include an enclosing SELECT.  This can lead to more
-        efficient queries in many circumstances.  A JOIN against a nested JOIN
-        will be rewritten as a JOIN against an aliased SELECT subquery on
-        backends that don't support this syntax.
+     :meth:`.FromClause.alias` call so that aliases of :class:`.Join`
+     objects don't include an enclosing SELECT.  This can lead to more
+     efficient queries in many circumstances.  A JOIN against a nested JOIN
+     will be rewritten as a JOIN against an aliased SELECT subquery on
+     backends that don't support this syntax.
 
      Setting ``flat`` to ``True`` implies the ``aliased`` flag is
      also ``True``.