diff options
| author | Tom Christie | 2013-03-09 10:21:53 +0000 | 
|---|---|---|
| committer | Tom Christie | 2013-03-09 10:21:53 +0000 | 
| commit | 239758e034a9418aac3be1bab992679babc461e6 (patch) | |
| tree | a2ef56236f0638f7c081ee3211cd07c0cc2f703a /rest_framework | |
| parent | 2c6c5d966e47fafbb9bace554ad14bd3b247aef9 (diff) | |
| download | django-rest-framework-239758e034a9418aac3be1bab992679babc461e6.tar.bz2 | |
Serializers support bulk create.
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/serializers.py | 14 | 
1 files changed, 9 insertions, 5 deletions
diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 106e3f17..2ae7c215 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -391,11 +391,17 @@ class BaseSerializer(Field):          return self._data +    def save_object(self, obj): +        obj.save() +      def save(self):          """          Save the deserialized object and return it.          """ -        self.object.save() +        if isinstance(self.object, list): +            [self.save_object(item) for item in self.object] +        else: +            self.save_object(self.object)          return self.object @@ -612,11 +618,11 @@ class ModelSerializer(Serializer):          if instance:              return self.full_clean(instance) -    def save(self): +    def save_object(self, obj):          """          Save the deserialized object and return it.          """ -        self.object.save() +        obj.save()          if getattr(self, 'm2m_data', None):              for accessor_name, object_list in self.m2m_data.items(): @@ -628,8 +634,6 @@ class ModelSerializer(Serializer):                  setattr(self.object, accessor_name, object_list)              self.related_data = {} -        return self.object -  class HyperlinkedModelSerializerOptions(ModelSerializerOptions):      """  | 
