diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-04-26 15:51:29 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-04-26 15:51:29 -0400 |
commit | e3a7015f8991cea869c6e59cd537fec9836fc9bd (patch) | |
tree | fc051a11d664f4fc6b7ab8d0048388ef4f518af1 /lib/sqlalchemy/ext/serializer.py | |
parent | 22c4ae0aaf3a00e9020c3950a53d2a3238b2091c (diff) | |
download | sqlalchemy-e3a7015f8991cea869c6e59cd537fec9836fc9bd.tar.gz |
Fixes to the ``sqlalchemy.ext.serializer`` extension, including
that the "id" passed from the pickler is turned into a string
to prevent against bytes being parsed on Py3K, as well as that
``relationship()`` and ``orm.join()`` constructs are now properly
serialized. [ticket:2698] and some other observed issues.
Diffstat (limited to 'lib/sqlalchemy/ext/serializer.py')
-rw-r--r-- | lib/sqlalchemy/ext/serializer.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sqlalchemy/ext/serializer.py b/lib/sqlalchemy/ext/serializer.py index 990483d03..b4c67538a 100644 --- a/lib/sqlalchemy/ext/serializer.py +++ b/lib/sqlalchemy/ext/serializer.py @@ -109,7 +109,8 @@ def Serializer(*args, **kw): pickler.persistent_id = persistent_id return pickler -our_ids = re.compile(r'(mapper|table|column|session|attribute|engine):(.*)') +our_ids = re.compile( + r'(mapperprop|mapper|table|column|session|attribute|engine):(.*)') def Deserializer(file, metadata=None, scoped_session=None, engine=None): @@ -126,7 +127,7 @@ def Deserializer(file, metadata=None, scoped_session=None, engine=None): return None def persistent_load(id): - m = our_ids.match(id) + m = our_ids.match(str(id)) if not m: return None else: |