summaryrefslogtreecommitdiff
path: root/django/core/serializers/python.py
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2007-02-26 17:33:27 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2007-02-26 17:33:27 +0000
commit51f39d59bd42375e6ded28c2b6538e053d78b626 (patch)
tree3cbce152b3b34705a8e5df0d0c4be93154c7e49f /django/core/serializers/python.py
parenta30e3fca48be23c856cda778ec3f0e0eec75fd91 (diff)
Fixed #3390: the serializer can now contain forward references. Thanks, Russ.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4610 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/core/serializers/python.py')
-rw-r--r--django/core/serializers/python.py15
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: