summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-03-14 15:08:47 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2011-03-14 15:08:47 -0400
commit9ccfdaf1ae5e3b4bc5d8630f4a6d6e16c7db650c (patch)
tree626bcc91819d6e7f96c3d408b7ca3eb01fddc1c0 /lib/sqlalchemy
parent82ea44781985ce608185370a648db729de2cc2d9 (diff)
parenta3c1774859eb80552bdf9beccd4160e246dfe014 (diff)
downloadsqlalchemy-9ccfdaf1ae5e3b4bc5d8630f4a6d6e16c7db650c.tar.gz
merge
Diffstat (limited to 'lib/sqlalchemy')
-rwxr-xr-xlib/sqlalchemy/ext/declarative.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/sqlalchemy/ext/declarative.py b/lib/sqlalchemy/ext/declarative.py
index 0372d4dac..e521ddbbf 100755
--- a/lib/sqlalchemy/ext/declarative.py
+++ b/lib/sqlalchemy/ext/declarative.py
@@ -782,7 +782,7 @@ it as part of ``__table_args__``::
class MyMixin(object):
a = Column(Integer)
b = Column(Integer)
-
+
@declared_attr
def __table_args__(cls):
return (Index('test_idx_%s' % cls.__tablename__, 'a', 'b'),)
@@ -944,9 +944,10 @@ def _as_declarative(cls, classname, dict_):
# make sure that column copies are used rather
# than the original columns from any mixins
- for k, v in mapper_args.iteritems():
- mapper_args[k] = column_copies.get(v,v)
-
+ for k in ('version_id_col', 'polymorphic_on',):
+ if k in mapper_args:
+ v = mapper_args[k]
+ mapper_args[k] = column_copies.get(v,v)
if classname in cls._decl_class_registry:
util.warn("The classname %r is already in the registry of this"
@@ -1122,6 +1123,7 @@ def _as_declarative(cls, classname, dict_):
# change this ordering when we do [ticket:1892]
our_stuff[k] = p.columns + [col]
+
cls.__mapper__ = mapper_cls(cls,
table,
properties=our_stuff,