          if value is None:
              if not self.allow_none:
                  return ''
              else:
                  # return None explicitly because smart_text(None) == 'None'
                  # see #1834 for details
                  return None
  
          return smart_text(value)
  
  
 
</s> remove         self.assertIsNone(serializer.object.char)
 </s> add         self.assertIsNone(serializer.object['char']) </s> remove         class CharFieldSerializer(serializers.ModelSerializer):
            class Meta:
                model = NullableCharFieldModel
 </s> add         class CharFieldSerializer(serializers.Serializer):
            char = serializers.CharField(allow_none=True, required=False) </s> remove class NullableCharFieldModel(models.Model):
    char = models.CharField(null=True, blank=True, max_length=4)


 </s> add 
                # Return None explicitly because smart_text(None) == 'None'. See #1834 for details
          if value is None:
              if not self.allow_none:
                  return ''
              else:
                # Return None explicitly because smart_text(None) == 'None'. See #1834 for details
                # Return None explicitly because smart_text(None) == 'None'. See #1834 for details
                  return None
  
          return smart_text(value)
  
  
keep keep keep keep replace replace keep keep keep keep keep
 Use Serializer instead of ModelSerializer 
rest_framework/fields.py