diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-03-22 18:05:46 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-03-22 18:05:46 +0000 |
commit | 2cff3ad9f8b90e82aa396ba26dd83b95b21c15ff (patch) | |
tree | e7e19426e51c5de55381d41ac3229187871b5008 /lib/sqlalchemy/ext/declarative.py | |
parent | 98f212667ee8e2dc4128e55032f3d39cd5fda30c (diff) | |
download | sqlalchemy-2cff3ad9f8b90e82aa396ba26dd83b95b21c15ff.tar.gz |
- inheritance in declarative can be disabled when sending
"inherits=None" to __mapper_args__.
Diffstat (limited to 'lib/sqlalchemy/ext/declarative.py')
-rw-r--r-- | lib/sqlalchemy/ext/declarative.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/sqlalchemy/ext/declarative.py b/lib/sqlalchemy/ext/declarative.py index 6616a77fe..784236662 100644 --- a/lib/sqlalchemy/ext/declarative.py +++ b/lib/sqlalchemy/ext/declarative.py @@ -211,11 +211,13 @@ class DeclarativeMeta(type): else: table = cls.__table__ - inherits = cls.__mro__[1] - inherits = cls._decl_class_registry.get(inherits.__name__, None) mapper_args = getattr(cls, '__mapper_args__', {}) - - cls.__mapper__ = mapper(cls, table, inherits=inherits, properties=our_stuff, **mapper_args) + if 'inherits' not in mapper_args: + inherits = cls.__mro__[1] + inherits = cls._decl_class_registry.get(inherits.__name__, None) + mapper_args['inherits'] = inherits + + cls.__mapper__ = mapper(cls, table, properties=our_stuff, **mapper_args) return type.__init__(cls, classname, bases, dict_) def __setattr__(cls, key, value): |