2

我突然收到一个完整性错误:“此模型中密钥“用户名”的重复条目“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

这里有什么问题?

4

1 回答 1

2

从文档中,关于指定自定义用户模型:

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

USERNAME_FIELD

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

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

阅读文档

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

于 2013-06-18T08:48:08.483 回答