          if max_length is not None:
              self.validators.append(validators.MaxLengthValidator(max_length))
  
      def from_native(self, value):
          if isinstance(value, basestring) or value is None:
              return value
          return smart_unicode(value)
  
 
</s> remove                  default=None):
 </s> add                  default=None, blank=None):
    def validate(self, value):
        """
        Validates that the value is supplied (if required).
        """
        # if empty string and allow blank
        if self.blank and not value:
            return
        else:
            super(CharField, self).validate(value)

          if max_length is not None:
              self.validators.append(validators.MaxLengthValidator(max_length))
  
    def validate(self, value):
        """
        Validates that the value is supplied (if required).
        """
        # if empty string and allow blank
        if self.blank and not value:
            return
        else:
            super(CharField, self).validate(value)

      def from_native(self, value):
          if isinstance(value, basestring) or value is None:
              return value
          return smart_unicode(value)
  
keep keep add keep keep keep keep keep
 Merge fixes for 'blank=True' fields.  Fixes #324, Fixes #325

Thanks to @Roarster. 
rest_framework/fields.py