Модель аутентификации Django: объединить несколько полей в одно поле username_field - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть несколько полей, которые пользователи должны указать при регистрации: date_of_birth, first_name, last_name.

Теперь мне нужно объединить эти поля в одно для USERNAME_FIELD, например: John_Doe_01011988

Очевидно, что следующее не работает:

USERNAME_FIELD='%s-%s' % ('first_name', 'last_name')

1 Ответ

0 голосов
/ 02 июня 2019

Если ваш date_of_birth является datetime, вы можете преобразовать его в строку и добавить все строки вместе следующим образом:

import datetime

first_name = 'John'
last_name = 'Doe'
date_of_birth = datetime.datetime(1988, 1, 1)

str_dob = str(date_of_birth).split(' ')[0].replace('-', '')
username = "{}_{}_{}".format(first_name,last_name, str_dob)

Out:

'John_Doe_19880101'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...