          # 'source' argument has been used. For example:
          # my_field = serializer.CharField(source='my_field')
          assert self._kwargs.get('source') != field_name, (
              "It is redundant to specify `source='%s'` on field '%s' in "
              "serializer '%s', as it is the same the field name. "
              "Remove the `source` keyword argument." %
              (field_name, self.__class__.__name__, parent.__class__.__name__)
          )
  
          self.field_name = field_name
 
</s> remove                             {'display_name': 'red', 'value': 'red'}
 </s> add                             {'display_name': 'blue', 'value': 'blue'}
            "serializer '%s', because it is the same as the field name. "
          # 'source' argument has been used. For example:
          # my_field = serializer.CharField(source='my_field')
          assert self._kwargs.get('source') != field_name, (
              "It is redundant to specify `source='%s'` on field '%s' in "
            "serializer '%s', because it is the same as the field name. "
              "Remove the `source` keyword argument." %
              (field_name, self.__class__.__name__, parent.__class__.__name__)
          )
  
          self.field_name = field_name
keep keep keep keep replace keep keep keep keep keep
 Ensure proper sorting of 'choices' attribute on ChoiceField 
rest_framework/fields.py