summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/identity.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/orm/identity.py')
-rw-r--r--lib/sqlalchemy/orm/identity.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/sqlalchemy/orm/identity.py b/lib/sqlalchemy/orm/identity.py
index dc219e1eb..50301a13c 100644
--- a/lib/sqlalchemy/orm/identity.py
+++ b/lib/sqlalchemy/orm/identity.py
@@ -43,17 +43,18 @@ class IdentityMap(dict):
del state._instance_dict
self._mutable_attrs.discard(state)
self._modified.discard(state)
-
+
def _dirty_states(self):
- return self._modified.union(s for s in self._mutable_attrs if s.modified)
-
+ return self._modified.union(s for s in list(self._mutable_attrs)
+ if s.modified)
+
def check_modified(self):
"""return True if any InstanceStates present have been marked as 'modified'."""
if self._modified:
return True
else:
- for state in self._mutable_attrs:
+ for state in list(self._mutable_attrs):
if state.modified:
return True
return False