diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-08-25 19:13:47 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-08-25 19:13:47 -0400 |
commit | 3531a924169a206c3fde4d280b9096fd0a9f138f (patch) | |
tree | fa92682c6bc673c68708997b3ce0ab2fd40dc519 | |
parent | 4c1c9d5ed7b9e68dcd3a55cda35edc287b9185db (diff) | |
parent | 2645c8427729733fcd3db044abe7901412890214 (diff) | |
download | sqlalchemy-3531a924169a206c3fde4d280b9096fd0a9f138f.tar.gz |
Merge branch 'mutable-dict-update' of https://bitbucket.org/goodscloud/sqlalchemy into pr27
-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 1a4568f23..e49e9ea8b 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 305eb8c3a..f2d0123bd 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() |