summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/expression.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-08-08 15:52:50 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2010-08-08 15:52:50 -0400
commit56e628ea203219a7492c17e60eb58cd55c7d5caf (patch)
tree4b775d48f16c2be50c608b996f098f26850d0db7 /lib/sqlalchemy/sql/expression.py
parent9aa5d574fe743bae63d300953752c395a8dfe1b5 (diff)
parentbb3be98d3bee4b2bcef791be022ddb2510b9cf9c (diff)
downloadsqlalchemy-56e628ea203219a7492c17e60eb58cd55c7d5caf.tar.gz
- merge tip
- fixes
Diffstat (limited to 'lib/sqlalchemy/sql/expression.py')
-rw-r--r--lib/sqlalchemy/sql/expression.py20
1 files changed, 9 insertions, 11 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py
index 4b8df74c6..0a5edb42f 100644
--- a/lib/sqlalchemy/sql/expression.py
+++ b/lib/sqlalchemy/sql/expression.py
@@ -3187,7 +3187,8 @@ class _Label(ColumnElement):
self._element = element
self._type = type_
self.quote = element.quote
-
+ self.proxies = [element]
+
@util.memoized_property
def type(self):
return sqltypes.to_instance(
@@ -3198,17 +3199,13 @@ class _Label(ColumnElement):
def element(self):
return self._element.self_group(against=operators.as_)
- def _proxy_attr(name):
- get = attrgetter(name)
- def attr(self):
- return get(self.element)
- return property(attr)
+ @property
+ def primary_key(self):
+ return self.element.primary_key
- proxies = _proxy_attr('proxies')
- base_columns = _proxy_attr('base_columns')
- proxy_set = _proxy_attr('proxy_set')
- primary_key = _proxy_attr('primary_key')
- foreign_keys = _proxy_attr('foreign_keys')
+ @property
+ def foreign_keys(self):
+ return self.element.foreign_keys
def get_children(self, **kwargs):
return self.element,
@@ -3225,6 +3222,7 @@ class _Label(ColumnElement):
e = self.element._make_proxy(selectable, name=self.name)
else:
e = column(self.name)._make_proxy(selectable=selectable)
+
e.proxies.append(self)
return e