diff options
author | Thomas Herve <thomas.herve@enovance.com> | 2014-06-24 09:55:53 +0200 |
---|---|---|
committer | Thomas Herve <thomas.herve@enovance.com> | 2014-06-24 09:55:53 +0200 |
commit | e36fb9e87c89fd0af8a4a99d2ae97aa3c7ae8ad3 (patch) | |
tree | 581b6a6ee1a3d4e8325681604ddad29b4bf2c3b1 | |
parent | f10eb28d90cbf73f4757897f52bf26722f98372e (diff) | |
download | sqlalchemy-e36fb9e87c89fd0af8a4a99d2ae97aa3c7ae8ad3.tar.gz |
Return the assigned value in MultableDict.setdefault
-rw-r--r-- | lib/sqlalchemy/ext/mutable.py | 3 | ||||
-rw-r--r-- | test/ext/test_mutable.py | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/ext/mutable.py b/lib/sqlalchemy/ext/mutable.py index d2c686048..6373b2f00 100644 --- a/lib/sqlalchemy/ext/mutable.py +++ b/lib/sqlalchemy/ext/mutable.py @@ -612,8 +612,9 @@ class MutableDict(Mutable, dict): def setdefault(self, key, value): - dict.setdefault(self, key, value) + result = dict.setdefault(self, key, value) self.changed() + return result def __delitem__(self, key): """Detect dictionary del events and emit change events.""" diff --git a/test/ext/test_mutable.py b/test/ext/test_mutable.py index 9a030a4e9..32b3e11dd 100644 --- a/test/ext/test_mutable.py +++ b/test/ext/test_mutable.py @@ -93,12 +93,12 @@ class _MutableDictTestBase(object): sess.add(f1) sess.commit() - f1.data.setdefault('c', 'd') + eq_(f1.data.setdefault('c', 'd'), 'd') sess.commit() eq_(f1.data, {'a': 'b', 'c': 'd'}) - f1.data.setdefault('c', 'q') + eq_(f1.data.setdefault('c', 'q'), 'd') sess.commit() eq_(f1.data, {'a': 'b', 'c': 'd'}) |