我将django默认用户身份验证设置为使用电子邮件地址而不是用户名。
我担心的可能是未来的影响。如果用户更改了他的电子邮件,则需要更改主键,因为我认为用户的主键现在是电子邮件。这有什么基本后果。
用户也会在网站上拥有自己的空间,因此网址需要有某种用户名/唯一标识,我不认为这里有问题,但如果你这样做,请告知。
我主要担心的是电子邮件更新导致数据库和应用程序出现错误。
我知道这个话题很广泛,但后果是什么,或者没有。
谢谢。
答案 0 :(得分:2)
用户名是唯一的,但它不是主键。 Django默认创建主键id
。有关详细信息,请参阅automatic primary key fields上的文档。
因此,您应该可以更改用户名或电子邮件,而不会导致主键出现问题。
但是,如果您在网址中包含用户名或电子邮件地址,那么如果用户更改其详细信息,这些地址当然会发生变化。