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 に答える