From 4556f4b3dfcb9d8e443042f6d61204e01c7086df Mon Sep 17 00:00:00 2001 From: Jason Kirtland Date: Fri, 15 Aug 2008 22:59:13 +0000 Subject: [PATCH] - Don't choke when instrumenting a class with an old-style mixin. [ticket:1078] --- lib/sqlalchemy/orm/attributes.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/sqlalchemy/orm/attributes.py b/lib/sqlalchemy/orm/attributes.py index 9ebe9f79f2..7a001f18d1 100644 --- a/lib/sqlalchemy/orm/attributes.py +++ b/lib/sqlalchemy/orm/attributes.py @@ -16,6 +16,7 @@ An example of full customization is in /examples/custom_attributes. import operator from operator import attrgetter, itemgetter +import types import weakref from sqlalchemy import util @@ -1083,6 +1084,8 @@ class ClassManager(dict): self.install_descriptor(key, inst) self[key] = inst for cls in self.class_.__subclasses__(): + if isinstance(cls, types.ClassType): + continue manager = manager_of_class(cls) if manager is None: manager = create_manager_for_cls(cls) @@ -1101,6 +1104,8 @@ class ClassManager(dict): if key in self.mutable_attributes: self.mutable_attributes.remove(key) for cls in self.class_.__subclasses__(): + if isinstance(cls, types.ClassType): + continue manager = manager_of_class(cls) if manager is None: manager = create_manager_for_cls(cls) -- 2.47.3