]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
fixed set() to not re-set the same value
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 3 Feb 2006 01:03:00 +0000 (01:03 +0000)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 3 Feb 2006 01:03:00 +0000 (01:03 +0000)
lib/sqlalchemy/attributes.py

index 29a79edd2427576e6eae6cbea26f702d0b5e6442..f2480918d49b3d4f744218ce6d1e2d490f51d780 100644 (file)
@@ -77,7 +77,10 @@ class PropHistory(object):
     def setattr(self, value):
         if isinstance(value, list):
             raise ("assigning a list to scalar property '%s' on '%s' instance %d" % (self.key, self.obj.__class__.__name__, id(self.obj)))
-        self.orig = self.obj.__dict__.get(self.key, None)
+        orig = self.obj.__dict__.get(self.key, None)
+        if orig is value:
+            return
+        self.orig = orig
         self.obj.__dict__[self.key] = value
         if self.extension is not None and self.orig is not value:
             self.extension.set(self.obj, value, self.orig)