【发布时间】:2020-11-21 19:10:15
【问题描述】:
我对 django 默认用户模型很满意,但我希望自动生成用户名。我不想创建自定义用户模型。我需要定义一个生成唯一随机用户名的函数,如下所示:
user = User.objects.create_user(username=generate_username())
def generate_username():
pass
我不想使用random module生成随机用户名,然后检查它是否存在,否则,创建另一个随机用户名,再次检查等等。
有没有快速的方法来做到这一点?
【问题讨论】:
-
你关心用户名的格式吗?
uuid.uuid1()几乎可以保证生成唯一值 -
uuid 似乎是要走的路,但是有没有办法将用户名设置为与用户 ID 相同
-
在保存用户之前无法知道用户id,没有用户名也无法创建用户。
-
您可以将用户名字段设为主键,这样就没有
id字段了吗?
标签: django database django-models