diff options
| author | Jeremy Dunck <jdunck@gmail.com> | 2007-03-23 16:35:57 +0000 |
|---|---|---|
| committer | Jeremy Dunck <jdunck@gmail.com> | 2007-03-23 16:35:57 +0000 |
| commit | fa3ed6e1341f7c8b468e2267b3fafddeb58cdac2 (patch) | |
| tree | 6d8bf65854f8431355e2d91cbc61a37ab6f23d9a /django/core/serializers/python.py | |
| parent | 8b279b63bef5c1348cc27c50633fc2d5ef09d7c1 (diff) | |
gis: Merged revisions 4669-4785 via svnmerge from trunk.
git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@4786 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/core/serializers/python.py')
| -rw-r--r-- | django/core/serializers/python.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/django/core/serializers/python.py b/django/core/serializers/python.py index a9baa01d5a..29ce6bf9bd 100644 --- a/django/core/serializers/python.py +++ b/django/core/serializers/python.py @@ -57,7 +57,7 @@ def Deserializer(object_list, **options): for d in object_list: # Look up the model and starting build a dict of data for it. Model = _get_model(d["model"]) - data = {Model._meta.pk.attname : d["pk"]} + data = {Model._meta.pk.attname : Model._meta.pk.to_python(d["pk"])} m2m_data = {} # Handle each field @@ -70,16 +70,17 @@ def Deserializer(object_list, **options): # Handle M2M relations if field.rel and isinstance(field.rel, models.ManyToManyRel): pks = [] + m2m_convert = field.rel.to._meta.pk.to_python for pk in field_value: if isinstance(pk, unicode): - pks.append(pk.encode(options.get("encoding", settings.DEFAULT_CHARSET))) + pks.append(m2m_convert(pk.encode(options.get("encoding", settings.DEFAULT_CHARSET)))) else: - pks.append(pk) + pks.append(m2m_convert(pk)) m2m_data[field.name] = pks # Handle FK fields elif field.rel and isinstance(field.rel, models.ManyToOneRel): - data[field.attname] = field_value + data[field.attname] = field.rel.to._meta.pk.to_python(field_value) # Handle all other fields else: |
