Как упростить процесс обновления поля phone_number в django, включая верификацию

Описание проблемы:

У нас есть модель пользователя, где номер телефона задан как имя пользователя и его unique=True,. У нас также есть поле для представления верифицированных/неверифицированных пользователей. И мы верифицируем пользователей с помощью OTP-верификации на номер телефона. Теперь нам нужно добавить новую функцию, в которой пользователь может заменить свой номер телефона, после чего он пройдет процесс верификации, а затем мы изменим его номер.

Также нам нужно сохранить его предыдущий номер (который он уже верифицировал) до тех пор, пока этот новый номер не будет верифицирован. Если по какой-то причине пользователь решит вернуться без верификации, мы удалим вновь добавленный номер и сохраним его старый номер как имя пользователя.

Итак, как лучше всего подойти к решению этой проблемы

Я рассматриваю возможность иметь другую модель, связанную с ForeignKey с User

class AlternativeNumber(models.Model):
    user = User() # forignkey
    number = Charfield
    is_verfied = BooleanField

Итак, мы будем проверять номер пользователя и заменять его оригинальный номер на альтернативный номер из набора альтернативных номеров

Как вы думаете, мы можем сделать это более просто. Как вы думаете, у него могут быть какие-то недостатки или мы можем пойти с лучшей оценкой? Спасибо.

На мой взгляд, вы можете добавить два новых поля в класс User

alternative_number = CharField
is_aletrnative_verfied = BooleanField
<<<Если пользователь не подтвердил свой номер, вы можете создать задание cron, которое будет проверять, проверяет ли

, и если оно было ложным, то удалите любое значение в is_aletrnative_verfied, просто чтобы данные были последовательными.alternative_number

Надеемся, что вы найдете это полезным!

Вернуться на верх