diff options
| author | S. Andrew Sheppard | 2013-12-23 22:27:40 -0600 |
|---|---|---|
| committer | S. Andrew Sheppard | 2013-12-23 22:27:40 -0600 |
| commit | 25bd6d1d4b7a85279047ab8e35f6faee0bc10a1a (patch) | |
| tree | 8b373da522ca72cab7f4db0423e935f2dc83aa89 | |
| parent | 75e872473197f9b810c9daf348cb452faadac476 (diff) | |
| download | django-rest-framework-25bd6d1d4b7a85279047ab8e35f6faee0bc10a1a.tar.bz2 | |
can't save genericrelations via nested serializers in django 1.6
| -rw-r--r-- | rest_framework/tests/test_genericrelations.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/rest_framework/tests/test_genericrelations.py b/rest_framework/tests/test_genericrelations.py index c38bfb9f..2d341344 100644 --- a/rest_framework/tests/test_genericrelations.py +++ b/rest_framework/tests/test_genericrelations.py @@ -69,6 +69,35 @@ class TestGenericRelations(TestCase): } self.assertEqual(serializer.data, expected) + def test_generic_nested_relation(self): + """ + Test saving a GenericRelation field via a nested serializer. + """ + + class TagSerializer(serializers.ModelSerializer): + class Meta: + model = Tag + exclude = ('content_type', 'object_id') + + class BookmarkSerializer(serializers.ModelSerializer): + tags = TagSerializer() + + class Meta: + model = Bookmark + exclude = ('id',) + + data = { + 'url': 'https://docs.djangoproject.com/', + 'tags': [ + {'tag': 'contenttypes'}, + {'tag': 'genericrelations'}, + ] + } + serializer = BookmarkSerializer(data=data) + self.assertTrue(serializer.is_valid()) + serializer.save() + self.assertEqual(serializer.object.tags.count(), 2) + def test_generic_fk(self): """ Test a relationship that spans a GenericForeignKey field. |
