У меня есть сериализатор, который используется для приглашения нового пользователя.В пользовательской модели, которую использовал этот сериализатор, есть автоматически сгенерированное поле для ключа активации (которое отправляется пользователю по электронной почте).Каков наилучший способ получить ключ активации в сериализаторе без добавления объекта User, который будет возвращен в ответе?По понятным причинам я не хочу, чтобы ключ активации возвращался во внешний интерфейс.
models.py:
class User(AbstractBaseUser):
...
activation_key = models.UUIDField(unique=True, default=uuid.uuid4)
...
serializers.py:
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<activation_key>.*)/$', 'info@mydomain',[user.email])
return user