From: Matt Chisholm Date: Sun, 27 Jul 2014 10:15:51 +0000 (+0200) Subject: add update() support to MutableDict X-Git-Tag: rel_0_9_8~46 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=37ea85f96ae016ab6601be2204a60b80e5716e87;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git add update() support to MutableDict --- diff --git a/lib/sqlalchemy/ext/mutable.py b/lib/sqlalchemy/ext/mutable.py index 1a4568f237..e49e9ea8b5 100644 --- a/lib/sqlalchemy/ext/mutable.py +++ b/lib/sqlalchemy/ext/mutable.py @@ -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() diff --git a/test/ext/test_mutable.py b/test/ext/test_mutable.py index 305eb8c3a6..f2d0123bd2 100644 --- a/test/ext/test_mutable.py +++ b/test/ext/test_mutable.py @@ -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()