【发布时间】:2013-07-01 09:24:52
【问题描述】:
用户名过长时出现错误:
/account/register/ 处的警告
第 1 行的“用户名”列的数据被截断
我已经在使用自定义用户模型,所以我添加了一个新字段并将其设为USERNAME_FIELD:
class MyUser(AbstractUser):
USERNAME_FIELD = 'identifier'
identifier = models.EmailField(unique=True,default="")
...
我分几步进行设置,添加不带unique=True 的字段,进行数据迁移,然后添加约束。然而,令我沮丧的是,当我去测试我的新模型时,我得到了同样的错误。 EmailField 的长度为 75(username 为 30),尝试添加用户名为 50 个字符的用户会导致错误。
在我的注册视图中,我按如下方式注册用户(此行会引发错误):
new_user = MyUser.objects.create_user(form.cleaned_data['username'],
form.cleaned_data['email'],
form.cleaned_data['password1'])
我应该采用不同的方法吗?不调用create_user可以手动创建用户吗?
【问题讨论】:
标签: django django-models django-authentication