aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/test_genericrelations.py
diff options
context:
space:
mode:
authorIan Foote2014-04-13 17:26:15 +0100
committerIan Foote2014-04-13 17:33:45 +0100
commit853c7a16c15c7291561bc4b3dfbcad88ea262a18 (patch)
treef83e3a6f5271c8a9827f5622886fc10da39f4c75 /rest_framework/tests/test_genericrelations.py
parent0a0e4f22e72badd1d8700a2b253cb27450a5319f (diff)
downloaddjango-rest-framework-853c7a16c15c7291561bc4b3dfbcad88ea262a18.tar.bz2
Use setattr for adding fields to a new instance
Add test for restoring a GenericForeignKey
Diffstat (limited to 'rest_framework/tests/test_genericrelations.py')
-rw-r--r--rest_framework/tests/test_genericrelations.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/rest_framework/tests/test_genericrelations.py b/rest_framework/tests/test_genericrelations.py
index fa09c9e6..46a2d863 100644
--- a/rest_framework/tests/test_genericrelations.py
+++ b/rest_framework/tests/test_genericrelations.py
@@ -131,3 +131,21 @@ class TestGenericRelations(TestCase):
}
]
self.assertEqual(serializer.data, expected)
+
+ def test_restore_object_generic_fk(self):
+ """
+ Ensure an object with a generic foreign key can be restored.
+ """
+
+ class TagSerializer(serializers.ModelSerializer):
+ class Meta:
+ model = Tag
+ exclude = ('content_type', 'object_id')
+
+ serializer = TagSerializer()
+
+ bookmark = Bookmark(url='http://example.com')
+ attrs = {'tagged_item': bookmark, 'tag': 'example'}
+
+ tag = serializer.restore_object(attrs)
+ self.assertEqual(tag.tagged_item, bookmark)