担心使用内置的django auth系统设置电子邮件,敲击效果

时间:2015-10-20 11:48:07

标签: django django-authentication django-users

我将django默认用户身份验证设置为使用电子邮件地址而不是用户名。

我担心的可能是未来的影响。如果用户更改了他的电子邮件,则需要更改主键,因为我认为用户的主键现在是电子邮件。这有什么基本后果。

用户也会在网站上拥有自己的空间,因此网址需要有某种用户名/唯一标识,我不认为这里有问题,但如果你这样做,请告知。

我主要担心的是电子邮件更新导致数据库和应用程序出现错误。

我知道这个话题很广泛,但后果是什么,或者没有。

谢谢。

1 个答案:

答案 0 :(得分:2)

用户名是唯一的,但它不是主键。 Django默认创建主键id。有关详细信息,请参阅automatic primary key fields上的文档。

因此,您应该可以更改用户名或电子邮件,而不会导致主键出现问题。

但是,如果您在网址中包含用户名或电子邮件地址,那么如果用户更改其详细信息,这些地址当然会发生变化。