]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
add update() support to MutableDict
authorMatt Chisholm <matt@theory.org>
Sun, 27 Jul 2014 10:15:51 +0000 (12:15 +0200)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 25 Aug 2014 23:17:34 +0000 (19:17 -0400)
lib/sqlalchemy/ext/mutable.py
test/ext/test_mutable.py

index 1a4568f237f320ecc001e2db7d4e07062e09cf68..e49e9ea8b5b076cd212ea2aa0880933b6851a8d1 100644 (file)
@@ -621,6 +621,10 @@ class MutableDict(Mutable, dict):
         dict.__delitem__(self, key)
         self.changed()
 
+    def update(self, *a, **kw):
+        dict.update(self, *a, **kw)
+        self.changed()
+
     def clear(self):
         dict.clear(self)
         self.changed()
index 305eb8c3a69a55d9846aed26fdedf329f39e6dcb..f2d0123bd23fab67159893b7f0b9301b5d523021 100644 (file)
@@ -119,6 +119,18 @@ class _MutableDictTestBase(object):
 
         eq_(f1.data, {})
 
+    def test_update(self):
+        sess = Session()
+
+        f1 = Foo(data={'a': 'b'})
+        sess.add(f1)
+        sess.commit()
+
+        f1.data.update({'a': 'z'})
+        sess.commit()
+
+        eq_(f1.data, {'a': 'z'})
+
     def test_setdefault(self):
         sess = Session()