diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-09-06 17:56:53 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-09-06 17:56:53 -0400 |
commit | e80c7cc5c103788a4c7e1c479af2c37cd9c958b3 (patch) | |
tree | 87df4dd4fe620b16df15d3ff5f6b7c04ba913a74 /lib/sqlalchemy/sql/selectable.py | |
parent | 4e285fd6ba2cbaf4b43e943a0e6bb45cc104cf08 (diff) | |
download | sqlalchemy-e80c7cc5c103788a4c7e1c479af2c37cd9c958b3.tar.gz |
wip for #3148
Diffstat (limited to 'lib/sqlalchemy/sql/selectable.py')
-rw-r--r-- | lib/sqlalchemy/sql/selectable.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index b802a6944..57b16f45f 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -1814,7 +1814,7 @@ class GenerativeSelect(SelectBase): *clauses, _literal_as_text=_literal_as_label_reference) @property - def _inner_column_dict(self): + def _label_resolve_dict(self): raise NotImplementedError() def _copy_internals(self, clone=_clone, **kw): @@ -1884,7 +1884,7 @@ class CompoundSelect(GenerativeSelect): GenerativeSelect.__init__(self, **kwargs) @property - def _inner_column_dict(self): + def _label_resolve_dict(self): return dict( (c.key, c) for c in self.c ) @@ -2498,11 +2498,14 @@ class Select(HasPrefixes, GenerativeSelect): return _select_iterables(self._raw_columns) @_memoized_property - def _inner_column_dict(self): + def _label_resolve_dict(self): d = dict( - (c._label or c.key, c) - for c in _select_iterables(self._raw_columns)) - d.update((c.key, c) for c in _select_iterables(self.froms)) + (c._resolve_label or c._label or c.key, c) + for c in _select_iterables(self._raw_columns) + if c._allow_label_resolve) + d.update( + (c.key, c) for c in + _select_iterables(self.froms) if c._allow_label_resolve) return d |