diff options
| author | Jeremy Dunck <jdunck@gmail.com> | 2007-03-06 14:21:30 +0000 |
|---|---|---|
| committer | Jeremy Dunck <jdunck@gmail.com> | 2007-03-06 14:21:30 +0000 |
| commit | 5514d8731955466dad0cdaf395ddd4da1c101274 (patch) | |
| tree | 7a51066204f4bacb3bfb30a74d089d3309959177 /django/core/serializers/python.py | |
| parent | d60c44319459ea6aeb7d2c77d2efd8b4b4683296 (diff) | |
gis: Merged revisions 4564-4668 via svnmerge from
http://code.djangoproject.com/svn/django/trunk
git-svn-id: http://code.djangoproject.com/svn/django/branches/gis@4669 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/core/serializers/python.py')
| -rw-r--r-- | django/core/serializers/python.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/django/core/serializers/python.py b/django/core/serializers/python.py index 1e1e6f4bec..a9baa01d5a 100644 --- a/django/core/serializers/python.py +++ b/django/core/serializers/python.py @@ -67,20 +67,19 @@ def Deserializer(object_list, **options): field = Model._meta.get_field(field_name) - # Handle M2M relations (with in_bulk() for performance) + # Handle M2M relations if field.rel and isinstance(field.rel, models.ManyToManyRel): pks = [] for pk in field_value: if isinstance(pk, unicode): - pk = pk.encode(options.get("encoding", settings.DEFAULT_CHARSET)) - m2m_data[field.name] = field.rel.to._default_manager.in_bulk(field_value).values() + pks.append(pk.encode(options.get("encoding", settings.DEFAULT_CHARSET))) + else: + pks.append(pk) + m2m_data[field.name] = pks # Handle FK fields - elif field.rel and isinstance(field.rel, models.ManyToOneRel) and field_value is not None: - try: - data[field.name] = field.rel.to._default_manager.get(pk=field_value) - except field.rel.to.DoesNotExist: - data[field.name] = None + elif field.rel and isinstance(field.rel, models.ManyToOneRel): + data[field.attname] = field_value # Handle all other fields else: |
