diff options
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/session.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/session.py b/lib/sqlalchemy/orm/session.py index d15fbbc1a..0e5e939b1 100644 --- a/lib/sqlalchemy/orm/session.py +++ b/lib/sqlalchemy/orm/session.py @@ -280,14 +280,14 @@ class SessionTransaction(object): def _restore_snapshot(self): assert self._is_transaction_boundary + for s in set(self._new).union(self.session._new): + self.session._expunge_state(s) + for s in set(self._deleted).union(self.session._deleted): self.session._update_impl(s) assert not self.session._deleted - for s in set(self._new).union(self.session._new): - self.session._expunge_state(s) - for s in self.session.identity_map.all_states(): _expire_state(s, None, instance_dict=self.session.identity_map) |
