我正在尝试使用User profile功能,所以这是我的个人资料模型:
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'”
我做错了吗?
答案 0 :(得分:2)
信号可能不止一次被注册。使用dispatch_uid
argument来阻止此操作。
例如:
post_save.connect(create_user_profile, sender=User, dispatch_uid='autocreate_nuser')