aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/relations_hyperlink.py
diff options
context:
space:
mode:
authorCraig de Stigter2013-05-18 12:32:48 +0200
committerCraig de Stigter2013-05-18 12:32:48 +0200
commitc992b600f7b0aefb156cddb5e27b438ccc316b39 (patch)
treeba2a97351632a413c41d05c5694c2c066832865b /rest_framework/tests/relations_hyperlink.py
parent930bd4d0e1f9a74ee56a57ef36c93b1c1d124f91 (diff)
downloaddjango-rest-framework-c992b600f7b0aefb156cddb5e27b438ccc316b39.tar.bz2
add tests for dotted lookup in RelatedField, PrimaryKeyRelatedField, and HyperlinkedRelatedField. #694
Diffstat (limited to 'rest_framework/tests/relations_hyperlink.py')
-rw-r--r--rest_framework/tests/relations_hyperlink.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/rest_framework/tests/relations_hyperlink.py b/rest_framework/tests/relations_hyperlink.py
index 8fb4687f..b3efbf52 100644
--- a/rest_framework/tests/relations_hyperlink.py
+++ b/rest_framework/tests/relations_hyperlink.py
@@ -499,3 +499,26 @@ class HyperlinkedRelatedFieldSourceTests(TestCase):
obj = ClassWithQuerysetMethod()
value = field.field_to_native(obj, 'field_name')
self.assertEqual(value, ['http://testserver/dummyurl/1/'])
+
+ def test_dotted_source(self):
+ """
+ Source argument should support dotted.source notation.
+ """
+ BlogPost.objects.create(title='blah')
+ field = serializers.HyperlinkedRelatedField(
+ many=True,
+ source='a.b.c',
+ view_name='dummy-url',
+ )
+ field.context = {'request': request}
+
+ class ClassWithQuerysetMethod(object):
+ a = {
+ 'b': {
+ 'c': BlogPost.objects.all()
+ }
+ }
+
+ obj = ClassWithQuerysetMethod()
+ value = field.field_to_native(obj, 'field_name')
+ self.assertEqual(value, ['http://testserver/dummyurl/1/'])