summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/elements.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/sql/elements.py')
-rw-r--r--lib/sqlalchemy/sql/elements.py15
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".