  
          try:
              native = data[field_name]
          except KeyError:
              if getattr(self, 'missing_value', None) is not None:
                  native = self.missing_value
              else:
                  if self.required:
                      raise ValidationError(self.error_messages['required'])
                  return
  
 
</s> remove             if getattr(v, 'initial', None):
                kwargs['initial'] = v.initial
 </s> add             if getattr(v, 'default', None) is not None:
                kwargs['initial'] = v.default
 </s> remove                  initial=None):
 </s> add                  default=None): </s> remove     missing_value = False  # Fill in missing value not supplied by html form
 </s> add     # Note: we set default to `False` in order to fill in missing value not
    # supplied by html form.  TODO: Fix so that only html form input gets
    # this behavior.
    default = False </s> remove         # These attributes are ony used for HTML forms.
        self.initial = initial

 </s> add         # Widgets are ony used for HTML forms.
            if self.default is not None:
                native = self.default
  
          try:
              native = data[field_name]
          except KeyError:
            if self.default is not None:
                native = self.default
            if self.default is not None:
                native = self.default
              else:
                  if self.required:
                      raise ValidationError(self.error_messages['required'])
                  return
  
keep keep keep keep replace replace keep keep keep keep keep
 Remove `initial` kwarg, add `default`. 
rest_framework/fields.py