diff options
Diffstat (limited to 'lib/sqlalchemy/orm')
| -rw-r--r-- | lib/sqlalchemy/orm/collections.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/collections.py b/lib/sqlalchemy/orm/collections.py index 1e022e1dd..47cd774d6 100644 --- a/lib/sqlalchemy/orm/collections.py +++ b/lib/sqlalchemy/orm/collections.py @@ -714,12 +714,18 @@ class CollectionAdapter(object): def __getstate__(self): return {'key': self._key, 'owner_state': self.owner_state, - 'data': self.data} + 'owner_cls': self.owner_state.class_, + 'data': self.data, + 'invalidated': self.invalidated} def __setstate__(self, d): self._key = d['key'] self.owner_state = d['owner_state'] self._data = weakref.ref(d['data']) + self._converter = d['data']._sa_converter + d['data']._sa_adapter = self + self.invalidated = d['invalidated'] + self.attr = getattr(d['owner_cls'], self._key).impl def bulk_replace(values, existing_adapter, new_adapter): |
