diff options
| author | Tom Christie | 2013-03-10 13:34:02 -0700 |
|---|---|---|
| committer | Tom Christie | 2013-03-10 13:34:02 -0700 |
| commit | 99b18d7485ebe0ab7f89ae634298d771b1c66dce (patch) | |
| tree | cf57e7e2825adcff183c90d25469c8a04303d593 | |
| parent | 239758e034a9418aac3be1bab992679babc461e6 (diff) | |
| parent | 126a0f739ddb19ab2525618539b526d02330dbd5 (diff) | |
| download | django-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.py | 1 | ||||
| -rw-r--r-- | rest_framework/tests/relations_pk.py | 6 |
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) |
