              if ret == '' and self.allow_null:
                  # If the field is blank, and null is a valid value then
                  # determine if we should use null instead.
                  return '' if getattr(self, 'allow_blank', False) else None
              elif ret == '' and self.default:
                  return empty
              return ret
          return dictionary.get(self.field_name, empty)
  
      def get_attribute(self, instance):
          """
 
</s> remove     def test_empty_html_charfield(self):
 </s> add     def test_empty_html_charfield_with_default(self):
            elif ret == '' and not self.required:
                # If the field is blank, and emptyness is valid then
                # determine if we should use emptyness instead.
                return '' if getattr(self, 'allow_blank', False) else empty
              if ret == '' and self.allow_null:
                  # If the field is blank, and null is a valid value then
                  # determine if we should use null instead.
                  return '' if getattr(self, 'allow_blank', False) else None
            elif ret == '' and not self.required:
                # If the field is blank, and emptyness is valid then
                # determine if we should use emptyness instead.
                return '' if getattr(self, 'allow_blank', False) else empty
            elif ret == '' and not self.required:
                # If the field is blank, and emptyness is valid then
                # determine if we should use emptyness instead.
                return '' if getattr(self, 'allow_blank', False) else empty
              return ret
          return dictionary.get(self.field_name, empty)
  
      def get_attribute(self, instance):
          """
keep keep keep keep replace replace keep keep keep keep keep
 Resolve empty HTML charfield behavior. Closes #3318. 
rest_framework/fields.py