diff options
Diffstat (limited to 'lib/sqlalchemy/sql/elements.py')
-rw-r--r-- | lib/sqlalchemy/sql/elements.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py index 1b49a7cd1..f2ce0619c 100644 --- a/lib/sqlalchemy/sql/elements.py +++ b/lib/sqlalchemy/sql/elements.py @@ -588,7 +588,7 @@ class ColumnElement(ClauseElement, operators.ColumnOperators): primary_key = False foreign_keys = [] _label = None - _key_label = None + _key_label = key = None _alt_names = () def self_group(self, against=None): @@ -681,10 +681,14 @@ class ColumnElement(ClauseElement, operators.ColumnOperators): """ if name is None: name = self.anon_label - try: - key = str(self) - except exc.UnsupportedCompilationError: - key = self.anon_label + if self.key: + key = self.key + else: + try: + key = str(self) + except exc.UnsupportedCompilationError: + key = self.anon_label + else: key = name co = ColumnClause( @@ -755,7 +759,6 @@ class ColumnElement(ClauseElement, operators.ColumnOperators): 'name', 'anon'))) - class BindParameter(ColumnElement): """Represent a "bound expression". |