title: Create UUID on client and save primary key with Django REST Framework and using a POST
body: <p>I'd like to be able to create a <code>UUID</code> on the client and send it to <em>Django Rest Framework</em> (DRF) and use that for the <code>Primary Key</code> of the Model.</p>
  
  <p>So far, when I send the <code>Primary Key</code>, which is labeled <code>id</code> in my source code, DRF ignores the <code>id</code> and uses the default argument of the Model to generate a fresh <code>UUID</code>.</p>
  
  <p>However, when I test from the Model, using the normal Django ORM to create the object,  and pre-set the <code>UUID</code>, the Model accepts the <code>UUID</code> as it's <code>Primary Key</code> and doesn't try and recreate a new one.</p>
  
  <p>Is this possible?</p>
  
  <p>My stack is </p>
  
  <ul>
  <li><p>Django 1.8</p></li>
  <li><p>Django Rest Framework 3.1</p></li>
  </ul>
  
  <p>Here is the code.</p>
  
  <p><strong>serializers.py:</strong></p>
  
  <pre><code>class PersonCreateSerializer(serializers.ModelSerializer):
      class Meta:
          model = Person
          fields = ('id', 'username', 'email', 'password')
  </code></pre>
  
  <p><strong>models.py:</strong></p>
  
  <pre><code>from django.contrib.auth.models import AbstractUser
  
  class BaseModel(models.Model):
      id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
  
  class Person(AbstractUser, BaseModel):
  </code></pre>