]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
(no commit message)
authorMike Bayer <mike_mp@zzzcomputing.com>
Sun, 4 Sep 2005 20:00:30 +0000 (20:00 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sun, 4 Sep 2005 20:00:30 +0000 (20:00 +0000)
lib/sqlalchemy/mapper.py
lib/sqlalchemy/util.py
test/mapper.py

index cb26a32164d25e34d2eac306bb2abd83cc479151..74b72dd1bf6f74c4cf68efeecef2224143abf95e 100644 (file)
@@ -375,8 +375,11 @@ class ColumnProperty(MapperProperty):
 
     def getattr(self, object):
         return getattr(object, self.key, None)
-    def setattr(self, object, value):
-        clean_setattr(object, self.key, value)
+    def setattr(self, object, value, clean = False):
+        if clean:
+            clean_setattr(object, self.key, value)
+        else:
+            setattr(object, self.key, value)
     def hash_key(self):
         return "ColumnProperty(%s)" % repr([hash_key(c) for c in self.columns])
 
index dd6d030457914578aa7a916f5b982ad4369d8769..e6802bbbb0e63ee9dafd785abdf1c44eb26c7a03 100644 (file)
@@ -52,18 +52,18 @@ class OrderedDict(dict):
 
     def keys(self):
         return self.list
-    
+
     def update(self, dict):
         for key in dict.keys():
             self.__setitem__(key, dict[key])
-    
+
     def setdefault(self, key, value):
         if not self.has_key(key):
             self.__setitem__(key, value)
             return value
         else:
             return self.__getitem__(key)
-            
+
     def values(self):
         return map(lambda key: self[key], self.list)
         
@@ -77,30 +77,25 @@ class OrderedDict(dict):
     
     def iteritems(self):
         return iter([(key, self[key]) for key in self.keys()])
-        
+    
     def __setitem__(self, key, object):
         if not self.has_key(key):
             self.list.append(key)
-
         dict.__setitem__(self, key, object)
         
     def __getitem__(self, key):
         return dict.__getitem__(self, key)
 
-
 class ThreadLocal(object):
     def __init__(self):
         object.__setattr__(self, 'tdict', {})
-
     def __getattribute__(self, key):
         try:
             return object.__getattribute__(self, 'tdict')["%d_%s" % (thread.get_ident(), key)]
         except KeyError:
             raise AttributeError(key)
-        
     def __setattr__(self, key, value):
         object.__getattribute__(self, 'tdict')["%d_%s" % (thread.get_ident(), key)] = value
-        
 
 class HashSet(object):
     def __init__(self, iter = None):
@@ -110,10 +105,13 @@ class HashSet(object):
                 self.append(i)
     def __iter__(self):
         return iter(self.map.values())
     def append(self, item):
         self.map[item] = item
     def __delitem__(self, key):
         del self.map[key]
     def __getitem__(self, key):
         return self.map[key]
         
index 3bf41b8305683b7849f325cce1f6918e20e04b2e..ba1a20e90ad1191e696fa2bf8c6de1898b9fc892 100644 (file)
@@ -373,6 +373,7 @@ class SaveTest(AssertMixin):
         del u.addresses[1]
         m.save(u)
         addresstable = engine.ResultProxy(addresses.select(addresses.c.address_id.in_(a.address_id, a2.address_id)).execute()).fetchall()
+        print repr(addresstable)
         self.assert_(addresstable[0].row == (a.address_id, u.user_id, 'one2many@test.org'))
         self.assert_(addresstable[1].row == (a2.address_id, None, 'lala@test.org'))