@@ -608,20 +608,20 @@ class ModelSerializer(Serializer):
608608    })
609609    _related_class  =  PrimaryKeyRelatedField 
610610
611-     def  create (self , validated_attrs ):
611+     def  create (self , validated_data ):
612612        """ 
613613        We have a bit of extra checking around this in order to provide 
614614        descriptive messages when something goes wrong, but this method is 
615615        essentially just: 
616616
617-             return ExampleModel.objects.create(**validated_attrs ) 
617+             return ExampleModel.objects.create(**validated_data ) 
618618
619619        If there are many to many fields present on the instance then they 
620620        cannot be set until the model is instantiated, in which case the 
621621        implementation is like so: 
622622
623-             example_relationship = validated_attrs .pop('example_relationship') 
624-             instance = ExampleModel.objects.create(**validated_attrs ) 
623+             example_relationship = validated_data .pop('example_relationship') 
624+             instance = ExampleModel.objects.create(**validated_data ) 
625625            instance.example_relationship = example_relationship 
626626            return instance 
627627
@@ -633,8 +633,8 @@ def create(self, validated_attrs):
633633        # If we don't do this explicitly they'd likely get a confusing 
634634        # error at the point of calling `Model.objects.create()`. 
635635        assert  not  any (
636-             isinstance (field , BaseSerializer ) and  not   field . read_only 
637-             for  field  in  self .fields .values ()
636+             isinstance (field , BaseSerializer ) and  ( key   in   validated_attrs ) 
637+             for  key ,  field  in  self .fields .items ()
638638        ), (
639639            'The `.create()` method does not suport nested writable fields ' 
640640            'by default. Write an explicit `.create()` method for serializer ' 
@@ -644,17 +644,17 @@ def create(self, validated_attrs):
644644
645645        ModelClass  =  self .Meta .model 
646646
647-         # Remove many-to-many relationships from validated_attrs . 
647+         # Remove many-to-many relationships from validated_data . 
648648        # They are not valid arguments to the default `.create()` method, 
649649        # as they require that the instance has already been saved. 
650650        info  =  model_meta .get_field_info (ModelClass )
651651        many_to_many  =  {}
652652        for  field_name , relation_info  in  info .relations .items ():
653-             if  relation_info .to_many  and  (field_name  in  validated_attrs ):
654-                 many_to_many [field_name ] =  validated_attrs .pop (field_name )
653+             if  relation_info .to_many  and  (field_name  in  validated_data ):
654+                 many_to_many [field_name ] =  validated_data .pop (field_name )
655655
656656        try :
657-             instance  =  ModelClass .objects .create (** validated_attrs )
657+             instance  =  ModelClass .objects .create (** validated_data )
658658        except  TypeError  as  exc :
659659            msg  =  (
660660                'Got a `TypeError` when calling `%s.objects.create()`. ' 
@@ -679,18 +679,18 @@ def create(self, validated_attrs):
679679
680680        return  instance 
681681
682-     def  update (self , instance , validated_attrs ):
682+     def  update (self , instance , validated_data ):
683683        assert  not  any (
684-             isinstance (field , BaseSerializer ) and  not   field . read_only 
685-             for  field  in  self .fields .values ()
684+             isinstance (field , BaseSerializer ) and  ( key   in   validated_attrs ) 
685+             for  key ,  field  in  self .fields .items ()
686686        ), (
687687            'The `.update()` method does not suport nested writable fields ' 
688688            'by default. Write an explicit `.update()` method for serializer ' 
689689            '`%s.%s`, or set `read_only=True` on nested serializer fields.'  % 
690690            (self .__class__ .__module__ , self .__class__ .__name__ )
691691        )
692692
693-         for  attr , value  in  validated_attrs .items ():
693+         for  attr , value  in  validated_data .items ():
694694            setattr (instance , attr , value )
695695        instance .save ()
696696        return  instance 
0 commit comments