title: Django Rest Framework serializer `source` giving weird required error
body: <p>I have an API that sends me fields with field names that don't match the ones in my model (and that I have no control over) and am trying to map them in the serializer, but for some reason when I actually implement this:</p>
  
  <pre><code>class UserSerializer(serializers.ModelSerializer):
      email = serializers.EmailField(source='customer_email')
      first_name = serializers.CharField(source='first name')
      last_name = serializers.CharField(source='last name')
      address = serializers.CharField(source='customer_address')
      phone = serializers.CharField(source='customer_phone')
      messenger_id = serializers.IntegerField(source='messenger user id')
  
      class Meta:
          model = User
          fields = ('id', 'url', 'email', 'first_name', 'last_name', 'address', 'phone', 'messenger_id',)
  </code></pre>
  
  <p>I'm getting the following error:</p>
  
  <pre><code>{
      "phone": [
          "This field is required."
      ],
      "first_name": [
          "This field is required."
      ],
      "last_name": [
          "This field is required."
      ],
      "messenger_id": [
          "This field is required."
      ],
      "email": [
          "This field is required."
      ],
      "address": [
          "This field is required."
      ]
  }
  </code></pre>
  
  <p>However, among those fields, the only one that's actually required in my model is the <code>email</code> field. I used the <code>source=</code> parameter according to the top rated answer <a href="https://stackoverflow.com/questions/22958058/how-to-change-field-name-in-django-rest-framework">here</a>, but am not sure what's causing the issue here.</p>
  
  <p>Thanks!</p>