summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/util.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-06-04 16:21:25 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-06-04 16:21:25 -0400
commit51e1019f610f083ac4d8c850589cdf52cff044da (patch)
treedb56526f4fd2fb9d0e63c6dbef151075f248ca5c /lib/sqlalchemy/orm/util.py
parentfa3d18a47cb6f307b18da880a5f8f4c06a6023b4 (diff)
downloadsqlalchemy-51e1019f610f083ac4d8c850589cdf52cff044da.tar.gz
here's the flat join thing. it just works. Changing the existing compiled SQL assertions
might even be most of the tests we need (though dedicated sql tests would be needed anyway)
Diffstat (limited to 'lib/sqlalchemy/orm/util.py')
-rw-r--r--lib/sqlalchemy/orm/util.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sqlalchemy/orm/util.py b/lib/sqlalchemy/orm/util.py
index bd8228f2c..3da6e89e3 100644
--- a/lib/sqlalchemy/orm/util.py
+++ b/lib/sqlalchemy/orm/util.py
@@ -493,6 +493,7 @@ class AliasedClass(object):
"""
def __init__(self, cls, alias=None,
name=None,
+ flat=False,
adapt_on_names=False,
# TODO: None for default here?
with_polymorphic_mappers=(),
@@ -501,7 +502,7 @@ class AliasedClass(object):
use_mapper_path=False):
mapper = _class_to_mapper(cls)
if alias is None:
- alias = mapper._with_polymorphic_selectable.alias(name=name)
+ alias = mapper._with_polymorphic_selectable.alias(name=name, flat=flat)
self._aliased_insp = AliasedInsp(
self,
mapper,
@@ -837,7 +838,7 @@ def with_polymorphic(base, classes, selectable=False,
_with_polymorphic_args(classes, selectable,
innerjoin=innerjoin)
if aliased:
- selectable = selectable.alias()
+ selectable = selectable.alias(flat=True)
return AliasedClass(base,
selectable,
with_polymorphic_mappers=mappers,