title: Django REST Framework PATCH fails on required fields
body: <p>We are creating an API that needs to allow a user to update a record. In many cases, like a status update or name change, only one field will change. This seems an appropriate use-case scenario for a PATCH request. As I understand it this is a 'partial' update.</p>
  
  <p>We've implemented Django's REST Framework and run into this issue. For a record such as a "AccountUser" I want to change a name field only so I send the following request:
      PATCH /api/users/1/ HTTP/1.1
      Host: localhost
      X-CSRFToken: 111122223333444455556666
      Content-Type: application/json;charset=UTF-8
      Cache-Control: no-cache</p>
  
  <pre><code>{ "fullname": "John Doe" }
  </code></pre>
  
  <p>The record obviously has other attributes including a couple of 'related' fields such as 'account' which is required for a new record. When submit the request, the response is a 400 error with the following body:
      { "account": [ "This field is required." ] }
  The serializer for the user looks like this:</p>
  
  <pre><code>class AccountUserSerializer(serializers.ModelSerializer):
      account = serializers.PrimaryKeyRelatedField()
  
  class Meta:
      model = AccountUser
      fields = ('id', 'account', 'fullname', ... )
      depth = 1
  </code></pre>
  
  <p>And the model looks like this:</p>
  
  <pre><code>class AccountUser(models.Model):
      ''' Account User'''
      fullname = models.CharField(max_length=200,
          null=True,blank=True)
      account = models.ForeignKey(Account,
          on_delete=models.PROTECT
          )
  
      objects = AccountUserManager()
  
      def __unicode__(self):
          return self.email
  
      class Meta:
          db_table = 'accounts_account_user'
  </code></pre>
  
  <p>Am I doing something wrong here or is it wrong to expect to be able to update a single field on a record this way. Thanks! This community rocks! </p>
  
  <p>EDIT:
  Requested - AccountUserManager:</p>
  
  <pre><code>class AccountUserManager(BaseUserManager):
  
      def create_user(self, email, account_name):
          username = hash_email_into_username(email)
          ...
          account = Account.objects.get(name=account_name)
          account_user = AccountUser(email=email,user=user,account=account)
          account_user.save()
          return account_user
  </code></pre>