summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/sqlalchemy/mapping/mapper.py14
-rw-r--r--lib/sqlalchemy/mods/selectresults.py2
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/sqlalchemy/mapping/mapper.py b/lib/sqlalchemy/mapping/mapper.py
index 9d2286eb0..0f2b4e19f 100644
--- a/lib/sqlalchemy/mapping/mapper.py
+++ b/lib/sqlalchemy/mapping/mapper.py
@@ -19,8 +19,8 @@ import weakref
# a dictionary mapping classes to their primary mappers
mapper_registry = weakref.WeakKeyDictionary()
-# a list of MapperExtensions that will be installed by default
-extensions = []
+# a list of MapperExtensions that will be installed in all mappers by default
+global_extensions = []
# a constant returned by _getattrbycolumn to indicate
# this mapper is not handling an attribute for a particular
@@ -56,13 +56,13 @@ class Mapper(object):
ext = MapperExtension()
- for ext_class in extensions:
+ for ext_class in global_extensions:
ext = ext_class().chain(ext)
+
+ for ext_obj in util.to_list(extension):
+ ext = ext_obj.chain(ext)
- if extension is not None:
- self.extension = extension.chain(ext)
- else:
- self.extension = ext
+ self.extension = ext
self.class_ = class_
self.is_primary = is_primary
diff --git a/lib/sqlalchemy/mods/selectresults.py b/lib/sqlalchemy/mods/selectresults.py
index 9613d8fc0..1f6b77a25 100644
--- a/lib/sqlalchemy/mods/selectresults.py
+++ b/lib/sqlalchemy/mods/selectresults.py
@@ -3,7 +3,7 @@ import sqlalchemy.sql as sql
import sqlalchemy.mapping as mapping
def install_plugin():
- mapping.extensions.append(SelectResultsExt)
+ mapping.global_extensions.append(SelectResultsExt)
class SelectResultsExt(mapping.MapperExtension):
def select_by(self, mapper, *args, **params):