diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-08-11 11:45:03 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-08-11 11:45:03 -0400 |
commit | 09cf0376524dc0bac6c1ab05d3c43cdd29c362b1 (patch) | |
tree | 7de5cac7f40d9af8eeb131a6223cda73756ccfb7 | |
parent | f2fa9d000b44a54b0fd3ae6114eb5d53ef20c3b8 (diff) | |
download | sqlalchemy-09cf0376524dc0bac6c1ab05d3c43cdd29c362b1.tar.gz |
- small updates to polymorphic eager loading, cross-link from
loading documentation
Change-Id: I3ce7e2cc521c4dd155195819a919017d4cc63b3c
-rw-r--r-- | doc/build/orm/inheritance.rst | 9 | ||||
-rw-r--r-- | doc/build/orm/loading_relationships.rst | 8 | ||||
-rw-r--r-- | lib/sqlalchemy/orm/util.py | 10 |
3 files changed, 14 insertions, 13 deletions
diff --git a/doc/build/orm/inheritance.rst b/doc/build/orm/inheritance.rst index f640973c4..fb4de7df3 100644 --- a/doc/build/orm/inheritance.rst +++ b/doc/build/orm/inheritance.rst @@ -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:: diff --git a/doc/build/orm/loading_relationships.rst b/doc/build/orm/loading_relationships.rst index 941edce2c..ba5f23aa3 100644 --- a/doc/build/orm/loading_relationships.rst +++ b/doc/build/orm/loading_relationships.rst @@ -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 -------------------------- diff --git a/lib/sqlalchemy/orm/util.py b/lib/sqlalchemy/orm/util.py index f76be0380..afd2f9997 100644 --- a/lib/sqlalchemy/orm/util.py +++ b/lib/sqlalchemy/orm/util.py @@ -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``. |