Регистрация ссылок в Django refferal

В моем проекте мне нужно зарегистрировать пользователя User1, а затем User2, используя реферальную ссылку от User1. Эта ссылка должна содержать access_code, уникальную для каждого пользователя, например http://my_site/register?access_code=some_random_code. Все пользователи регистрируются через одну ссылку view:

class UserCreateAPIView(CreateAPIView):
    queryset = get_user_model().objects.all()
    serializer_class = UserSerializer

Модель пользователя:

class User(AbstractUser):
    pair = models.OneToOneField(
        "self", null=True, blank=True, on_delete=models.DO_NOTHING)
    access_code = models.UUIDField(
        default=uuid.uuid4, editable=False, unique=True)

Итак, мне нужно:

  • Проверьте, есть ли access_code в теле запроса
  • Если access_code существует, то найдите пользователя User1, который отправил этот код
  • Добавьте id пользователя User1 к текущему пользователю (User2) в поле pair
  • Добавить User2(current) к User1 в поле pair таким образом оба пользователя имели ссылки друг на друга через pair поля
Вернуться на верх