]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- inheritance in declarative can be disabled when sending
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 22 Mar 2008 18:05:46 +0000 (18:05 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 22 Mar 2008 18:05:46 +0000 (18:05 +0000)
"inherits=None" to __mapper_args__.

CHANGES
lib/sqlalchemy/ext/declarative.py

diff --git a/CHANGES b/CHANGES
index b5c8972e89f2e3095ed7e3e43e544b9a14bace98..9018e6a0d3feaa1041eaf0820a2dfe6962fc749f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -80,6 +80,9 @@ CHANGES
             __tablename__ = 'foos'
             id = Column(Integer, primary_key=True)
 
+     - inheritance in declarative can be disabled when sending
+       "inherits=None" to __mapper_args__.
+       
 0.4.4
 ------
 - sql
index 6616a77fe347ea7202044076070711f05d71b4d2..784236662f4e91d3e1de33018ab71ce24f85e5dd 100644 (file)
@@ -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):