aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2013-03-10 13:34:02 -0700
committerTom Christie2013-03-10 13:34:02 -0700
commit99b18d7485ebe0ab7f89ae634298d771b1c66dce (patch)
treecf57e7e2825adcff183c90d25469c8a04303d593
parent239758e034a9418aac3be1bab992679babc461e6 (diff)
parent126a0f739ddb19ab2525618539b526d02330dbd5 (diff)
downloaddjango-rest-framework-99b18d7485ebe0ab7f89ae634298d771b1c66dce.tar.bz2
Merge pull request #722 from Bouke/patch-1
PrimaryKeyRelatedField with OneToOneField serializes wrong object's id
-rw-r--r--rest_framework/relations.py1
-rw-r--r--rest_framework/tests/relations_pk.py6
2 files changed, 3 insertions, 4 deletions
diff --git a/rest_framework/relations.py b/rest_framework/relations.py
index 0c108717..2a10e9af 100644
--- a/rest_framework/relations.py
+++ b/rest_framework/relations.py
@@ -235,7 +235,6 @@ class PrimaryKeyRelatedField(RelatedField):
pk = getattr(obj, self.source or field_name).pk
except ObjectDoesNotExist:
return None
- return self.to_native(obj.pk)
# Forward relationship
return self.to_native(pk)
diff --git a/rest_framework/tests/relations_pk.py b/rest_framework/tests/relations_pk.py
index d6ae3176..f08e1808 100644
--- a/rest_framework/tests/relations_pk.py
+++ b/rest_framework/tests/relations_pk.py
@@ -407,14 +407,14 @@ class PKNullableOneToOneTests(TestCase):
target.save()
new_target = OneToOneTarget(name='target-2')
new_target.save()
- source = NullableOneToOneSource(name='source-1', target=target)
+ source = NullableOneToOneSource(name='source-1', target=new_target)
source.save()
def test_reverse_foreign_key_retrieve_with_null(self):
queryset = OneToOneTarget.objects.all()
serializer = NullableOneToOneTargetSerializer(queryset, many=True)
expected = [
- {'id': 1, 'name': 'target-1', 'nullable_source': 1},
- {'id': 2, 'name': 'target-2', 'nullable_source': None},
+ {'id': 1, 'name': 'target-1', 'nullable_source': None},
+ {'id': 2, 'name': 'target-2', 'nullable_source': 1},
]
self.assertEqual(serializer.data, expected)