From 2645c8427729733fcd3db044abe7901412890214 Mon Sep 17 00:00:00 2001 From: Matt Chisholm Date: Sun, 27 Jul 2014 12:15:51 +0200 Subject: [PATCH] add update() support to MutableDict --- lib/sqlalchemy/ext/mutable.py | 4 ++++ test/ext/test_mutable.py | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/lib/sqlalchemy/ext/mutable.py b/lib/sqlalchemy/ext/mutable.py index 7469bcbdae..3ef2f979d2 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 32b3e11dd5..9065f3d039 100644 --- a/test/ext/test_mutable.py +++ b/test/ext/test_mutable.py @@ -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() -- 2.47.3