IntegrityError Django

时间:2013-06-18 08:38:03

标签: python django

我突然遇到了一个完整性错误:“重复输入'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

这里有什么问题?

1 个答案:

答案 0 :(得分:2)

从文档中,有关指定自定义用户模型的信息:

  

然后,您必须提供一些关键的实施细节:

     

USERNAME_FIELD

     

描述用户字段名称的字符串   用作唯一标识符的模型。这通常是一个   某种用户名,但它也可以是电子邮件地址,或任何   其他唯一标识符。该字段必须是唯一的(即具有   unique =在其定义中设置为True。

因此,用户名似乎是唯一的,至少在您设置自定义用户名字段之前。

阅读文档

https://docs.djangoproject.com/en/dev/topics/auth/customizing/#specifying-a-custom-user-model