diff options
| author | Xavier Ordoquy | 2014-03-31 07:49:23 +0200 |
|---|---|---|
| committer | Xavier Ordoquy | 2014-03-31 07:49:23 +0200 |
| commit | 73cd4e236f0c119f5b6e0baad1259142fe37ace1 (patch) | |
| tree | e6ba3be5fd3df1e9c82434f8cb1856ad6a8f1ad4 /rest_framework/tests/test_serializer.py | |
| parent | 2a27674a7971a60050d4530a0852a864b2065adb (diff) | |
| parent | f5fc6937ece8c2bc70088979cc19c2c0a660c7a0 (diff) | |
| download | django-rest-framework-73cd4e236f0c119f5b6e0baad1259142fe37ace1.tar.bz2 | |
Merge pull request #1477 from vlastv/patch-1
Writable star source with instance
Diffstat (limited to 'rest_framework/tests/test_serializer.py')
| -rw-r--r-- | rest_framework/tests/test_serializer.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/rest_framework/tests/test_serializer.py b/rest_framework/tests/test_serializer.py index 85a899c5..3ee2b38a 100644 --- a/rest_framework/tests/test_serializer.py +++ b/rest_framework/tests/test_serializer.py @@ -508,6 +508,32 @@ class ValidationTests(TestCase): ) self.assertEqual(serializer.is_valid(), True) + def test_writable_star_source_on_nested_serializer_with_parent_object(self): + class TitleSerializer(serializers.Serializer): + title = serializers.WritableField(source='title') + + class AlbumSerializer(serializers.ModelSerializer): + nested = TitleSerializer(source='*') + + class Meta: + model = Album + fields = ('nested',) + + class PhotoSerializer(serializers.ModelSerializer): + album = AlbumSerializer(source='album') + + class Meta: + model = Photo + fields = ('album', ) + + photo = Photo(album=Album()) + + data = {'album': {'nested': {'title': 'test'}}} + + serializer = PhotoSerializer(photo, data=data) + self.assertEqual(serializer.is_valid(), True) + self.assertEqual(serializer.data, data) + def test_writable_star_source_with_inner_source_fields(self): """ Tests that a serializer with source="*" correctly expands the |
