]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Fix for scoped_session's `mapper(extension=<scalar>)` [ticket:760]
authorJason Kirtland <jek@discorporate.us>
Wed, 29 Aug 2007 20:23:02 +0000 (20:23 +0000)
committerJason Kirtland <jek@discorporate.us>
Wed, 29 Aug 2007 20:23:02 +0000 (20:23 +0000)
CHANGES
lib/sqlalchemy/orm/scoping.py
test/orm/session.py

diff --git a/CHANGES b/CHANGES
index 7bf0d8b4707b1cc5153654045cf0a788809b124f..ccd2fdbdad1754e138dd1d2ce1140f5a91f7fba7 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -17,6 +17,7 @@ CHANGES
 
   - [ticket:748]
   - [ticket:762]
+  - [ticket:760]
 
 0.4.0beta4
 ----------
index aebcfcdfe5892c91ca94ba2e3d69d26c7fc95510..caa46670b9cfb1ebb7c0eb7500a56a8c9374d665 100644 (file)
@@ -51,7 +51,7 @@ class ScopedSession(object):
         
         from sqlalchemy.orm import mapper
         validate = kwargs.pop('validate', False)
-        extension = to_list(kwargs.setdefault('extension', []))
+        kwargs['extension'] = extension = to_list(kwargs.get('extension', []))
         if validate:
             extension.append(self.extension.validating())
         else:
index 8c93eacbcc9fe31f85424e6a87e0485e94b4f4e9..0d0900c3a93681d99a57b5bcf4e902787dff28c9 100644 (file)
@@ -648,6 +648,18 @@ class ScopedMapperTest(PersistTest):
             pass
         Session.mapper(Foo, table2)
         assert hasattr(Foo, 'query')
+
+        ext = MapperExtension()
+
+        class Bar(object):
+            pass
+        Session.mapper(Bar, table2, extension=[ext])
+        assert hasattr(Bar, 'query')
+        
+        class Baz(object):
+            pass
+        Session.mapper(Baz, table2, extension=ext)
+        assert hasattr(Baz, 'query')
         
     def test_validating_constructor(self):
         s2 = SomeObject(someid=12)