title: Django Rest Framework Update or Create if not exists
body: <p>I want to use the perform an <em>update or create</em> in <code>django-rest-framework</code>, by passing <strong>or not</strong> the <code>id</code> field. I've got this model</p>
  
  <pre><code>class Etiqueta(models.Model):
      name_tag = models.CharField(max_length=200, blank=False, null=False)
      description_tag = models.TextField(max_length=500, blank=False, null=False)
  
      def __unicode__(self):
          return self.name_tag
  </code></pre>
  
  <p>And in <code>django-rest-framework</code> I've got this serializer</p>
  
  <pre><code>from myapp.modulos.estado_1.models import Etiqueta
  from rest_framework import serializers, viewsets
  
  # Serializers define the API representation.
  class TagSerializer(serializers.ModelSerializer):
      class Meta:
          model = Etiqueta
          fields = (
              'id',
              'name_tag',
              'description_tag'
          )
  
  # ViewSets define the view behavior.
  class TagViewSet(viewsets.ModelViewSet):
      queryset = Etiqueta.objects.all()
      serializer_class = TagSerializer
  </code></pre>
  
  <p>Normally when I create an object, I perform a <code>POST</code> to the URL without the <code>/:id</code>, but if I've got an object with a <strong>local id</strong>, I want him to be created in the <code>REST</code> with the same id (remote id), <code>django</code> overwrite my local id and creates a new one. <strong>Does anybody know how achieve this?</strong> Also it is important to mention that I'm working with <code>google-app-engine</code>, <code>google-cloud-datastore</code> and <code>django-dbindexer</code>.</p>