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/util.py | |
parent | 4e285fd6ba2cbaf4b43e943a0e6bb45cc104cf08 (diff) | |
download | sqlalchemy-e80c7cc5c103788a4c7e1c479af2c37cd9c958b3.tar.gz |
wip for #3148
Diffstat (limited to 'lib/sqlalchemy/sql/util.py')
-rw-r--r-- | lib/sqlalchemy/sql/util.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index 8bbae8b93..47ab61fdd 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -548,13 +548,15 @@ class ColumnAdapter(ClauseAdapter): def __init__(self, selectable, equivalents=None, chain_to=None, include=None, - exclude=None, adapt_required=False): + exclude=None, adapt_required=False, + allow_label_resolve=True): ClauseAdapter.__init__(self, selectable, equivalents, include, exclude) if chain_to: self.chain(chain_to) self.columns = util.populate_column_dict(self._locate_col) self.adapt_required = adapt_required + self.allow_label_resolve = allow_label_resolve def wrap(self, adapter): ac = self.__class__.__new__(self.__class__) @@ -580,6 +582,7 @@ class ColumnAdapter(ClauseAdapter): c = self.adapt_clause(col) # anonymize labels in case they have a hardcoded name + # see test_eager_relations.py -> SubqueryTest.test_label_anonymizing if isinstance(c, Label): c = c.label(None) @@ -591,6 +594,7 @@ class ColumnAdapter(ClauseAdapter): if self.adapt_required and c is col: return None + c._allow_label_resolve = self.allow_label_resolve return c def adapted_row(self, row): |