Django auth模型:将多个字段合并为一个username_field



我有多个字段,用户必须在注册时指定:date_of_birth, first_name, last_name

我现在想要的是将这些字段组合为USERNAME_FIELD的一个字段,如下所示:John_Doe_01011988

以下显然不起作用:

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

如果您的date_of_firth是一个日期时间,您可以将其转换为一个字符串,并将所有字符串附加在一起,如下所示:

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)

输出:

'John_Doe_19880101'

最新更新