diff options
| author | Tom Christie | 2013-04-10 22:38:02 +0100 | 
|---|---|---|
| committer | Tom Christie | 2013-04-10 22:38:02 +0100 | 
| commit | 76e039d70e8fc7f1d5c65180cb544abab81e600e (patch) | |
| tree | d5ffa15006f7935ca7a960353ef78cbf444eecac /rest_framework/tests/serializer.py | |
| parent | 3f91379e4eaf07418a99fda1932af91511c55e7b (diff) | |
| download | django-rest-framework-76e039d70e8fc7f1d5c65180cb544abab81e600e.tar.bz2 | |
First pass on automatically including reverse relationship
Diffstat (limited to 'rest_framework/tests/serializer.py')
| -rw-r--r-- | rest_framework/tests/serializer.py | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index 05217f35..3a94fad5 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -738,6 +738,43 @@ class ManyRelatedTests(TestCase):          self.assertEqual(serializer.data, expected) +    def test_include_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") + +        class BlogPostSerializer(serializers.ModelSerializer): +            class Meta: +                model = BlogPost +                fields = ('id', 'title', 'blogpostcomment_set') + +        serializer = BlogPostSerializer(instance=post) +        expected = { +            'id': 1, 'title': 'Test blog post', 'blogpostcomment_set': [1, 2] +        } +        self.assertEqual(serializer.data, expected) + +    def test_depth_include_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") + +        class BlogPostSerializer(serializers.ModelSerializer): +            class Meta: +                model = BlogPost +                fields = ('id', 'title', 'blogpostcomment_set') +                depth = 1 + +        serializer = BlogPostSerializer(instance=post) +        expected = { +            'id': 1, 'title': 'Test blog post', +            'blogpostcomment_set': [ +                {'id': 1, 'text': 'I hate this blog post', 'blog_post': 1}, +                {'id': 2, 'text': 'I love this blog post', 'blog_post': 1} +            ] +        } +        self.assertEqual(serializer.data, expected) +      def test_callable_source(self):          post = BlogPost.objects.create(title="Test blog post")          post.blogpostcomment_set.create(text="I love this blog post") | 
