          self.choice_strings_to_values = {
              str(key): key for key in self.choices.keys()
          }
  
          super(ChoiceField, self).__init__(*args, **kwargs)
  
      def to_native(self, data):
          try:
              return self.choice_strings_to_values[str(data)]
          except KeyError:
 
</s> remove         super(CharField, self).__init__(*args, **kwargs)
 </s> add         self.max_length = kwargs.pop('max_length', None)
        self.min_length = kwargs.pop('min_length', None)
        super(CharField, self).__init__(**kwargs) </s> remove     def __init__(self, *args, **kwargs):
 </s> add     def __init__(self, **kwargs): </s> remove                 files = request.FILES
 </s> add                 # files = request.FILES </s> remove                 files = None
 </s> add                 # files = None
        super(ChoiceField, self).__init__(**kwargs)
          self.choice_strings_to_values = {
              str(key): key for key in self.choices.keys()
          }
  
        super(ChoiceField, self).__init__(**kwargs)
  
      def to_native(self, data):
          try:
              return self.choice_strings_to_values[str(data)]
          except KeyError:
keep keep keep keep replace keep keep keep keep keep
 Add relations and get tests running 
rest_framework/fields.py