django auth是否支持相同的用户名?

时间:2011-08-10 16:38:54

标签: django django-authentication

我有两个数据库,我必须将用户信息从这些移动到django。问题是重复用户名(这些是其他用户)。它是如何解决的?

1 个答案:

答案 0 :(得分:1)

它没有'解决'多个用户名 - django.contrib.auth.models.User.usernameunique=True所以每个用户名必须是唯一的。

当您尝试添加具有相同用户名的第二个用户时,数据库将通过吐出数据库IntegrityError来解决该问题。

如果您的工作系统具有多个用户名,那么您显然没有使用用户名作为用户的唯一标识符登录。

也许您使用用户名字段登录的电子邮件地址只是“天赋”(几乎就像SO) - 在这种情况下,我可能会修改用户名字段更长并将电子邮件地址存储在用户名字段/用户名中在用户个人资料模型中。

https://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users

您还可以删除该唯一约束并编写自己的身份验证后端,该后端知道如何查找您的唯一用户/检查其凭据。每个用户必须有/某些/唯一的,对吗? https://docs.djangoproject.com/en/dev/topics/auth/#writing-an-authentication-backend