From 5d3b56f957d5ba6d5cb6e680c853a2e0da026fbb Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Tue, 26 Jul 2016 16:28:10 +0100 Subject: [PATCH] Test case for #4272 (#4310) * Test case for #4272 --- tests/test_model_serializer.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/test_model_serializer.py b/tests/test_model_serializer.py index f24d1d5150..2cf6cb04c6 100644 --- a/tests/test_model_serializer.py +++ b/tests/test_model_serializer.py @@ -955,3 +955,24 @@ class Meta(TestSerializer.Meta): self.assertEqual(unicode_repr(ChildSerializer()), child_expected) self.assertEqual(unicode_repr(TestSerializer()), test_expected) self.assertEqual(unicode_repr(ChildSerializer()), child_expected) + + +class OneToOneTargetTestModel(models.Model): + text = models.CharField(max_length=100) + + +class OneToOneSourceTestModel(models.Model): + target = models.OneToOneField(OneToOneTargetTestModel, primary_key=True) + + +class TestModelFieldValues(TestCase): + def test_model_field(self): + class ExampleSerializer(serializers.ModelSerializer): + class Meta: + model = OneToOneSourceTestModel + fields = ('target',) + + target = OneToOneTargetTestModel(id=1, text='abc') + source = OneToOneSourceTestModel(target=target) + serializer = ExampleSerializer(source) + self.assertEqual(serializer.data, {'target': 1})