title: Posting a default value with serializer in DRF
body: <p>I am attempting to post a default value.</p>
  
  <p>In plain English, this is how I want it to work:</p>
  
  <ol>
  <li>If data has no "tag" field (s)</li>
  <li>Check to see if tag "none" exists (for 'owner')</li>
  <li>If tag "none" exists, create the m2m</li>
  <li>If tag "none' doesn't exist, create the tag none (for 'owner')</li>
  </ol>
  
  <p>My post data will <strong>not</strong> contain the field <code>tag</code> in the JSON data being posted.</p>
  
  <p><strong>This code works perfectly EXCEPT when there is no <code>tag</code> field</strong></p>
  
  <p>When there is no tag field, it tells me 'tag field is required'</p>
  
  <h1>Example data being posted</h1>
  
  <p><code>{title: "Testing"}</code></p>
  
  <h1>Models.py</h1>
  
  <pre><code>class Tag(models.Model):
      name = models.CharField("Name", max_length=5000, blank=True)
      taglevel = models.IntegerField("Tag level", null=True, blank=True)
      owner = models.ForeignKey('auth.User', blank=True, null=True)v
  
  class Item(models.Model):
      title = models.CharField("Title", max_length=10000, blank=True)
      tag = models.ManyToManyField('Tag', blank=True)
      owner = models.ForeignKey('auth.User', blank=True, null=True)
  </code></pre>
  
  <h1>Serializer</h1>
  
  <pre><code>class ItemSerializer(serializers.ModelSerializer):
      tag = TagSerializer(many=True, read_only=False)
      info = InfoSerializer(many=True, read_only=True)
      class Meta:
          model = Item
          ordering = ('-created',)
          fields = ('title', 'pk', 'tag')
  
      def create(self, validated_data):
          tags_data = validated_data.pop('tag')
          owner = self.context['request'].user
          item = Item.objects.create(owner=owner, **validated_data)
          for tag_data in tags_data:
              tag_data['owner'] = owner
              tag_qs = Tag.objects.filter(name__iexact=tag_data['name'])
  
              if not tag_data:
                  Tag.objects.get_or_create(tag_name="None")
  
              if tag_qs.exists():
                  tag = tag_qs.first()
              else:
                  tag = Tag.objects.create(**tag_data)
              item.tag.add(tag)
          return item
  </code></pre>