summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMichael Trier <mtrier@gmail.com>2009-04-18 15:35:07 +0000
committerMichael Trier <mtrier@gmail.com>2009-04-18 15:35:07 +0000
commit7bb91d034f2460b180381f835a487854a1d96451 (patch)
tree28912c71fe7e72f3f278514165eace203bf5f2a9 /lib/sqlalchemy
parent33b3360e68a1f5395d09858001fdd4295461663b (diff)
downloadsqlalchemy-7bb91d034f2460b180381f835a487854a1d96451.tar.gz
Fixed adding of deferred or othe column properties to a declarative class.
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/ext/declarative.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/sqlalchemy/ext/declarative.py b/lib/sqlalchemy/ext/declarative.py
index 084ec2699..e22928b48 100644
--- a/lib/sqlalchemy/ext/declarative.py
+++ b/lib/sqlalchemy/ext/declarative.py
@@ -552,6 +552,12 @@ class DeclarativeMeta(type):
_undefer_column_name(key, value)
cls.__table__.append_column(value)
cls.__mapper__.add_property(key, value)
+ elif isinstance(value, ColumnProperty):
+ for col in value.columns:
+ if isinstance(col, Column) and col.table is None:
+ _undefer_column_name(key, col)
+ cls.__table__.append_column(col)
+ cls.__mapper__.add_property(key, value)
elif isinstance(value, MapperProperty):
cls.__mapper__.add_property(key, _deferred_relation(cls, value))
else: