]> 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)
committerMatt Chisholm <matt@theory.org>
Sat, 9 Aug 2014 09:02:01 +0000 (11:02 +0200)
lib/sqlalchemy/ext/mutable.py
test/ext/test_mutable.py

index 7469bcbdae7b11a5ba88651d2b060a17e6f636c3..3ef2f979d2ceebc728b0a78e52a376d347a80766 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 32b3e11dd50447b4e9628b99df7491f3761597f3..9065f3d03999e43c91a49b0017c9d46370cdb92a 100644 (file)
@@ -86,6 +86,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()