title: Django Rest Framework with ChoiceField
body: <p>I have a few fields in my user model that are choice fields and am trying to figure out how to best implement that into Django Rest Framework.</p>
  
  <p>Below is some simplified code to show what I'm doing.</p>
  
  <pre><code># models.py
  class User(AbstractUser):
      GENDER_CHOICES = (
          ('M', 'Male'),
          ('F', 'Female'),
      )
  
      gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
  
  
  # serializers.py 
  class UserSerializer(serializers.ModelSerializer):
      gender = serializers.CharField(source='get_gender_display')
  
      class Meta:
          model = User
  
  
  # viewsets.py
  class UserViewSet(viewsets.ModelViewSet):
      queryset = User.objects.all()
      serializer_class = UserSerializer
  </code></pre>
  
  <p>Essentially what I'm trying to do is to have the get/post/put methods use the display value of the choice field instead of the code, looking something like the below JSON.</p>
  
  <pre><code>{
    'username': 'newtestuser',
    'email': 'newuser@email.com',
    'first_name': 'first',
    'last_name': 'last',
    'gender': 'Male'
    // instead of 'gender': 'M'
  }
  </code></pre>
  
  <p>How would I go about doing that? The above code does not work. Before I had something like this working for GET, but for POST/PUT it was giving me errors. I'm looking for general advice on how to do this, it seems like it would be something common, but I can't find examples. Either that or I'm doing something terribly wrong.</p>