我有两个数据库,我必须将用户信息从这些移动到django。问题是重复用户名(这些是其他用户)。它是如何解决的?
答案 0 :(得分:1)
它没有'解决'多个用户名 - django.contrib.auth.models.User.username
有unique=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