summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/mapper.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-10-12 17:21:08 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2012-10-12 17:21:08 -0400
commitc30e6d063e6dcec7d6f8ab28692049aaf387a5fa (patch)
tree865e54515ddcfea9a554d2c458379d85d9599138 /lib/sqlalchemy/orm/mapper.py
parent40af03f8879412051518df8aadd8886c6c33aac0 (diff)
downloadsqlalchemy-c30e6d063e6dcec7d6f8ab28692049aaf387a5fa.tar.gz
- [feature] Improvements to event listening for
mapped classes allows that unmapped classes can be specified for instance- and mapper-events. The established events will be automatically set up on subclasses of that class when the propagate=True flag is passed, and the events will be set up for that class itself if and when it is ultimately mapped. [ticket:2585] - [bug] The instrumentation events class_instrument(), class_uninstrument(), and attribute_instrument() will now fire off only for descendant classes of the class assigned to listen(). Previously, an event listener would be assigned to listen for all classes in all cases regardless of the "target" argument passed. [ticket:2590]
Diffstat (limited to 'lib/sqlalchemy/orm/mapper.py')
-rw-r--r--lib/sqlalchemy/orm/mapper.py5
1 files changed, 1 insertions, 4 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py
index 4269e332f..dfd8a12b7 100644
--- a/lib/sqlalchemy/orm/mapper.py
+++ b/lib/sqlalchemy/orm/mapper.py
@@ -208,6 +208,7 @@ class Mapper(_InspectionAttr):
# configure_mappers() until construction succeeds)
_CONFIGURE_MUTEX.acquire()
try:
+ events._MapperEventsHold.populate(class_, self)
self._configure_inheritance()
self._configure_legacy_instrument_class()
self._configure_class_instrumentation()
@@ -659,10 +660,6 @@ class Mapper(_InspectionAttr):
if ext not in super_extensions:
ext._adapt_listener(self, ext)
- if self.inherits:
- self.class_manager.dispatch._update(
- self.inherits.class_manager.dispatch)
-
def _configure_class_instrumentation(self):
"""If this mapper is to be a primary mapper (i.e. the
non_primary flag is not set), associate this Mapper with the