diff options
| author | Jamie Matthews | 2012-10-22 15:12:25 +0100 |
|---|---|---|
| committer | Jamie Matthews | 2012-10-22 15:12:25 +0100 |
| commit | 45d4622f090f8d81a04b4d3e888017419676bbc0 (patch) | |
| tree | be8123972b230c118709a70cda0dd746c91645e2 /rest_framework/tests/serializer.py | |
| parent | d53ee8a10c5fd3c95a577a409d39a394a838b0b7 (diff) | |
| download | django-rest-framework-45d4622f090f8d81a04b4d3e888017419676bbc0.tar.bz2 | |
Fix serialization of reverse relationships
Diffstat (limited to 'rest_framework/tests/serializer.py')
| -rw-r--r-- | rest_framework/tests/serializer.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index bd1f07da..2dfc04e1 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -302,3 +302,32 @@ class CallableDefaultValueTests(TestCase): self.assertEquals(len(self.objects.all()), 1) self.assertEquals(instance.pk, 1) self.assertEquals(instance.text, 'overridden') + + +class ManyRelatedTests(TestCase): + def setUp(self): + + class BlogPostCommentSerializer(serializers.Serializer): + text = serializers.CharField() + + class BlogPostSerializer(serializers.Serializer): + title = serializers.CharField() + comments = BlogPostCommentSerializer(source='blogpostcomment_set') + + self.serializer_class = BlogPostSerializer + + def test_reverse_relations(self): + post = BlogPost.objects.create(title="Test blog post") + post.blogpostcomment_set.create(text="I hate this blog post") + post.blogpostcomment_set.create(text="I love this blog post") + + serializer = self.serializer_class(instance=post) + expected = { + 'title': 'Test blog post', + 'comments': [ + {'text': 'I hate this blog post'}, + {'text': 'I love this blog post'} + ] + } + + self.assertEqual(serializer.data, expected) |
