diff options
| author | Matt Chisholm <matt@theory.org> | 2014-07-27 12:15:51 +0200 |
|---|---|---|
| committer | Matt Chisholm <matt@theory.org> | 2014-08-09 11:02:01 +0200 |
| commit | 2645c8427729733fcd3db044abe7901412890214 (patch) | |
| tree | 1c1ad42f93d813842393ecc9bd6bc7c8514d4ae6 | |
| parent | 35551841c522d8eb20f8e20243a5510de9d95dfc (diff) | |
| download | sqlalchemy-2645c8427729733fcd3db044abe7901412890214.tar.gz | |
add update() support to MutableDict
| -rw-r--r-- | lib/sqlalchemy/ext/mutable.py | 4 | ||||
| -rw-r--r-- | test/ext/test_mutable.py | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/sqlalchemy/ext/mutable.py b/lib/sqlalchemy/ext/mutable.py index 7469bcbda..3ef2f979d 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 32b3e11dd..9065f3d03 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() |
