diff options
| author | Tom Christie | 2013-02-12 22:58:38 +0000 | 
|---|---|---|
| committer | Tom Christie | 2013-02-12 22:58:38 +0000 | 
| commit | 724906c516b71f3ec5bc2005c66a6145c77c3739 (patch) | |
| tree | fdfe6e1c573ef9540d6395a08be70a1b48b328e8 /rest_framework | |
| parent | 3f529dc25d66fba0c6f94944ebc92f338c86434d (diff) | |
| download | django-rest-framework-724906c516b71f3ec5bc2005c66a6145c77c3739.tar.bz2 | |
Test for #637.
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/tests/serializer.py | 17 | 
1 files changed, 17 insertions, 0 deletions
diff --git a/rest_framework/tests/serializer.py b/rest_framework/tests/serializer.py index f269d1a7..5350a8f2 100644 --- a/rest_framework/tests/serializer.py +++ b/rest_framework/tests/serializer.py @@ -785,6 +785,23 @@ class RelatedTraversalTest(TestCase):          self.assertEqual(serializer.data, expected) +    def test_queryset_nested_traversal(self): +        """ +        Relational fields should be able to use methods as their source. +        """ +        BlogPost.objects.create(title='blah') + +        class QuerysetMethodSerializer(serializers.Serializer): +            blogposts = serializers.RelatedField(many=True, source='get_all_blogposts') + +        class ClassWithQuerysetMethod(object): +            def get_all_blogposts(self): +                return BlogPost.objects + +        obj = ClassWithQuerysetMethod() +        serializer = QuerysetMethodSerializer(obj) +        self.assertEquals(serializer.data, {'blogposts': [u'BlogPost object']}) +  class SerializerMethodFieldTests(TestCase):      def setUp(self):  | 
