django的auth_user.username可以为varchar(75)吗?那怎么办?

这有什么错上运行ALTER TABLE auth_user做username是varchar(75)因此它可以适应的电子邮件?那有什么坏处呢?


如果要更改auth_user.username为在varchar(75)哪里,则需要修改Django?将源代码中的30更改为75仅仅是一个问题吗?


username = models.CharField(_('username'), max_length=30, unique=True, help_text=_("Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters"))

还是在此字段上还有其他需要更改的验证,或对此有其他影响?


有关执行此操作的原因,请参见下面与Bartek的评论讨论。


编辑:几个月后回首此事。对于不知道前提的任何人:某些应用不需要或不希望使用用户名,它们仅使用电子邮件进行注册和身份验证。不幸的是,在django auth.contrib中,需要用户名。您可以开始在用户名字段中放入电子邮件,但是该字段只有30个字符,现实世界中电子邮件可能很长。可能比此处建议的75个字符更长,但75个字符可容纳大多数理智的电子邮件地址。问题是针对这种情况的,这是基于电子邮件验证的应用程序所遇到的。


肥皂起泡泡
浏览 772回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP