title: DRF unexpected behaviour in API PUT method when passing value to object
body: <p>I have a model and I am trying to build an API with PUT method to update the values.</p>
  <p>However, when I send request with postman, all of the values are returned wrapped inside  <code> ( ,)</code>.
  For example, if I pass the JSON data</p>
  <pre><code>{
      &quot;name&quot; = &quot;MyName&quot;
  }
  </code></pre>
  <p>and then in the API under PUT method</p>
  <pre><code>data = request.data
  animal.name = data['name']
  </code></pre>
  <p>the returned values for <code>animal.name</code> is <code>( MyName,) </code> (it gets stored in the database like that) which is not what I passed/expect (I was expecting <code>MyName</code>).</p>
  <p>I used <code>print (data['name'], animal.name)</code> to confirm the JSON data are received correctly, and that is so (the print output is <code>MyName, ( MyName,) </code>. So the problem is within the API.
  I have the feeling this might be related to the <code>sex = model.ChaerField(choices=...)</code> as it is the first time I use this method.</p>
  <p>I would really appreciate some help in understanding why this is happening and how to solve it.</p>
  <p>Below is my definition of model serializer and view.</p>
  <p>models.py</p>
  <pre><code>MALE = 'M'
  FEMALE = 'F'
  SEX_CHOICES = [
      (MALE, 'Male'),
      (FEMALE, 'Female')
  ]
  class Animal(models.Model):
      owner = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, related_name='animal')
      farm = models.ForeignKey(Shop, on_delete=models.SET_NULL, null=True, related_name='animal')
      custom_uuid = models.CharField(max_length=8, default= null, editable=False)
      name = models.CharField(max_length=150, blank=True)
      birth_date = models.DateField(null=True, blank=True, verbose_name='Date of birth')
      sex = models.CharField(max_length=1, choices= SEX_CHOICES, default=MALE)
      
      def __str__(self):
          return '%s , %s' % (self.user, self.uuid)
  </code></pre>
  <p>serializer.py</p>
  <pre><code>class AnimalSerializer(serializers.ModelSerializer):
      sex = serializers.SerializerMethodField()
     
      class Meta:
          model=Animal
          fields = '__all__'
          
      
      def get_sex(self,obj):
          return obj.get_sex_display()
  </code></pre>
  <p>views.py</p>
  <pre><code>@api_view(['PUT'])
  @permission_classes([IsAuthenticated])
  def updateAnimal(request, pk):
      user = request.user
  
      animal = Animal.objects.get(id=pk)
      
      data = request.data
  
      animal.name = data['name'],
      print (data['name'], animal.name)
         
      animal.save()
  
      serializer = AnimalSerializer(animal, many=False)
      return Response(serializer.data)
  </code></pre>
  <p>I would really appreciate some help in understanding why it is happening that my values are returned wrapped around <code>( ,)</code> and how to solve it.</p>