From 0f65852da20acbf6334a8109de7bd951517784f8 Mon Sep 17 00:00:00 2001 From: Vladislav Vlastovskiy Date: Thu, 20 Mar 2014 13:42:01 +0300 Subject: [PATCH] Added test for nested model serialization --- .../tests/test_serializer_nested.py | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/rest_framework/tests/test_serializer_nested.py b/rest_framework/tests/test_serializer_nested.py index 6d69ffbd0..7df58afcf 100644 --- a/rest_framework/tests/test_serializer_nested.py +++ b/rest_framework/tests/test_serializer_nested.py @@ -345,3 +345,23 @@ class NestedModelSerializerUpdateTests(TestCase): result = deserialize.object result.save() self.assertEqual(result.id, john.id) + +class NestedModelSerializerTests(TestCase): + def test_nested_with_different_source_field_name(self): + class PersonSerializer(serializers.ModelSerializer): + class Meta: + model = models.Person + fields = ('id', 'name', 'age') + + class BlogPostSerializer(serializers.ModelSerializer): + author = PersonSerializer(source='writer') + class Meta: + model = models.BlogPost + fields = ('id', 'title', 'author') + + data = {'title':'Test blog post', 'author': {'name': 'Person', 'age': 10}} + + serializer = BlogPostSerializer(data=data) + self.assertTrue(serializer.is_valid()) + serializer.save() + self.assertIsNotNone(serializer.object.writer.id, 'Writer has not been saved')