          }
          try:
              return field_mapping[model_field.__class__]()
          except KeyError:
              return ModelField(model_field=model_field)
  
      def restore_object(self, attrs, instance=None):
          """
          Restore the model instance.
          """
 
</s> remove             return field_mapping[model_field.__class__]()
 </s> add             ret = field_mapping[model_field.__class__]() </s> remove             return  # TODO Consider validation behaviour, 'required' opt etc...
 </s> add             if self.required:
                raise ValidationError(self.error_messages['required'])
            return </s> remove @api_view(['GET', 'POST'])
 </s> add @api_view(['GET', 'POST', 'PUT']) </s> remove             self._data.pop(self._METHOD_PARAM)
 </s> add 
            ret = ModelField(model_field=model_field)

        if model_field.default:
            ret.required = False

        return ret
          }
          try:
              return field_mapping[model_field.__class__]()
          except KeyError:
            ret = ModelField(model_field=model_field)

        if model_field.default:
            ret.required = False

        return ret
  
      def restore_object(self, attrs, instance=None):
          """
          Restore the model instance.
          """
keep keep keep keep replace keep keep keep keep keep
 Fix issue where required fields were not being properly validated.  Also make model fields with a default value be not required 
rest_framework/serializers.py