diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-03-11 14:46:52 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-03-11 14:46:52 -0400 |
commit | b815e9483319b93f98bef11c7d47378441f78d21 (patch) | |
tree | 00a1e0a6e015cd12a386b9c67922b1f2bf7926e4 /lib/sqlalchemy/orm/query.py | |
parent | 71b8df2e5319773008e83f784543a716a80d7511 (diff) | |
download | sqlalchemy-b815e9483319b93f98bef11c7d47378441f78d21.tar.gz |
- Added a new entry ``"entity"`` to the dictionaries returned by
:attr:`.Query.column_descriptions`. This refers to the primary ORM
mapped class or aliased class that is referred to by the expression.
Compared to the existing entry for ``"type"``, it will always be
a mapped entity, even if extracted from a column expression, or
None if the given expression is a pure core expression.
references #3320
Diffstat (limited to 'lib/sqlalchemy/orm/query.py')
-rw-r--r-- | lib/sqlalchemy/orm/query.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 65c72e5e1..c6fdf479e 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -2558,18 +2558,21 @@ class Query(object): 'type':User, 'aliased':False, 'expr':User, + 'entity': User }, { 'name':'id', 'type':Integer(), 'aliased':False, 'expr':User.id, + 'entity': User }, { 'name':'user2', 'type':User, 'aliased':True, - 'expr':user_alias + 'expr':user_alias, + 'entity': user_alias } ] @@ -2579,7 +2582,10 @@ class Query(object): 'name': ent._label_name, 'type': ent.type, 'aliased': getattr(ent, 'is_aliased_class', False), - 'expr': ent.expr + 'expr': ent.expr, + 'entity': + ent.entity_zero.entity if ent.entity_zero is not None + else None } for ent in self._entities ] |