0

ユーザープロファイル機能を使用しようとしているので、プロファイルモデルは次のとおりです。

class Nuser(models.Model):
  user = models.OneToOneField(User)
  initials = models.CharField(max_length=5)
  def __unicode__(self):
    return u'%s %s' % (self.first_name, self.last_name)

def create_user_profile(sender, instance, created, **kwargs):
    if created:
        Nuser.objects.create(user=instance)

post_save.connect(create_user_profile, sender=User)

モデルは正しく作成されていますが、管理インターフェースを使用してユーザーを追加しようとすると、次のエラーが発生します。

/ admin / auth / user /add/のIntegrityError

(1062、"キー'user_id'の重複エントリ'3'")

私は何か間違ったことをしていますか?

4

1 に答える 1

2

信号はおそらく複数回登録されています。これを防ぐには、dispatch_uid引数を使用してください。

例えば:

post_save.connect(create_user_profile, sender=User, dispatch_uid='autocreate_nuser')
于 2012-08-09T10:46:39.727 に答える