Концепция изменения электронной почты пользователя

У меня вопрос по поводу самой концепции изменения email пользователя. Это просто концепция без кода.

Когда пользователь хочет изменить email, он заходит в настройки и нажимает кнопку "Отправить ссылку для изменения email". После этого я отправляю на почту пользователя сообщение, которое содержит ссылку с токеном для изменения email. Ссылка выглядит следующим образом: {{domain}}/new-email/{{uid}}/{{token}}. На этой странице пользователь может указать новый email, и теперь вот мой вопрос:

Мне нужно отправить еще одно сообщение на новую почту со ссылкой, чтобы проверить, является ли эта новая почта реальной. Моя модель пользователя содержит только текущее поле email. Мне нужно где-то запомнить новую почту, чтобы после того, как пользователь нажмет на ссылку активации внутри сообщения, поле email будет заменено новой почтой. Где я должен хранить новую почту? Должен ли я создать новое поле внутри модели пользователя (заменить email на current_email и добавить new_email) и после того, как пользователь нажмет на ссылку активации, current_email будет заменено значением new_email, а new_email будет снова установлено в null? Или, возможно, мне следует хранить новую почту в токене (который будет находиться в URL ссылки активации) без создания нового поля в модели пользователя?

Какой вариант будет безопаснее и чище?

Я использую Django и React.

Я не рекомендую создавать новое поле.

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

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