title: Get auto-generated field from model in serializer, without returning it
body: <p>I have a serializer which is used to invite a new user. In the User Model which this serializer used, there is an autogenerated field for an activation key (which gets emailed to the user). What is the best way to cleanly get the activation key in the serializer, without adding it the the User object which will be returned in the response? For obvious reasons, I don't want the activation key being returned to the front end.  </p>
  
  <p>models.py:</p>
  
  <pre><code>class User(AbstractBaseUser):
      ...
      activation_key = models.UUIDField(unique=True, default=uuid.uuid4)  
      ...
  </code></pre>
  
  <p>serializers.py:</p>
  
  <pre><code>class UserInvitationSerializer(serializers.ModelSerializer):
      email = serializers.EmailField()
  
      class Meta:
          model = User
          fields = ('id', 'email', 'first_name', 'last_name')
  
      def create(self, validated_data):
  
          user = User.objects.create(**validated_data)
          random_pass = User.objects.make_random_password(length=10)
          user.set_password(random_pass)
          user.save()
  
          activation_key = ?
          send_mail('Email Address Verification Request', 'confirm/email/(?P&lt;activation_key&gt;.*)/$', 'info@mydomain',[user.email])
  
          return user
  </code></pre>