title: django rest framework - foreign key fields are read only
body: <p>The model: </p>
  
  <pre><code>class Item(models.Model):
      company = models.ForeignKey(Company, on_delete=models.CASCADE)
      item_num = models.IntegerField()
      # other fields...
      class Meta:
         unique_together = [('company', 'item_num') ]
  </code></pre>
  
  <p>Serializer:</p>
  
  <pre><code>class ItemSerializer(serializers.ModelSerializer):
      class Meta:
          model = Item
          fields = ('company_id', 'item_num', ) 
  </code></pre>
  
  <p>The problem is that django rest framework generates a <code>ReadOnlyField()</code> for the <code>company_id</code> field, so this field is not editable when I create a new instance in view code like this:</p>
  
  <pre><code>s = ItemSerializer(data=request.POST)
  s.save()
  </code></pre>
  
  <p>I also lose the default <code>UniqueTogetherValidator</code> that is defined in the model.
  Though, if I change the serializer field name from 'company_id' to 'company', I do get the validator, as drf will generate <code>PrimaryKeyRelatedField</code> so it will be editable.</p>
  
  <p>How can I still name my foreign key objects like 'company_id', because I do prefer naming them like this, and still get the default validation and saving behavior? Preferably without adding to much code to the serializer. </p>