我突然遇到了一个完整性错误:“重复输入'qw'用于键'用户名' 从这个模型。 1062,
from django.template.defaultfilters import slugify
from django.contrib.auth.models import User
class Customer(User):
slug=models.SlugField(unique=True)
description=models.TextField(null=True)
phone=models.IntegerField(null=True)
id_verified=models.NullBooleanField()
picture=models.ImageField(upload_to='media/customer', null=True)
isWorker=models.BooleanField()
def save(self,*args,**kwargs):
self.slug=slugify(self.username)
super(Customer,self).save(*args, **kwargs)
def __unicode__(self):
return self.username
这里有什么问题?
答案 0 :(得分:2)
从文档中,有关指定自定义用户模型的信息:
然后,您必须提供一些关键的实施细节:
USERNAME_FIELD
描述用户字段名称的字符串 用作唯一标识符的模型。这通常是一个 某种用户名,但它也可以是电子邮件地址,或任何 其他唯一标识符。该字段必须是唯一的(即具有 unique =在其定义中设置为True。
因此,用户名似乎是唯一的,至少在您设置自定义用户名字段之前。
阅读文档
https://docs.djangoproject.com/en/dev/topics/auth/customizing/#specifying-a-custom-user-model