From b11fde9cff282de6ab6940782af593da2bda7791 Mon Sep 17 00:00:00 2001 From: Jason Kirtland Date: Tue, 28 Aug 2007 15:17:26 +0000 Subject: [PATCH] Fixed OrderedProperties pickling [ticket:762] --- lib/sqlalchemy/util.py | 6 +++--- test/engine/reflection.py | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py index 44ff3a2c5c..321540419f 100644 --- a/lib/sqlalchemy/util.py +++ b/lib/sqlalchemy/util.py @@ -275,10 +275,10 @@ class OrderedProperties(object): self._data[key] = object def __getstate__(self): - return self._data + return {'_data': self.__dict__['_data']} - def __setstate__(self, value): - self.__dict__['_data'] = value + def __setstate__(self, state): + self.__dict__['_data'] = state['_data'] def __getattr__(self, key): try: diff --git a/test/engine/reflection.py b/test/engine/reflection.py index 3bb1886227..c70dc3f2eb 100644 --- a/test/engine/reflection.py +++ b/test/engine/reflection.py @@ -372,6 +372,7 @@ class ReflectionTest(PersistTest): meta.bind = testbase.db meta2 = pickle.loads(pickle.dumps(meta)) assert meta2.bind is None + meta3 = pickle.loads(pickle.dumps(meta2)) return (meta2.tables['mytable'], meta2.tables['othertable']) def test_pickle_via_reflect(): -- 2.47.3