1

我正在尝试使用 UserProfile 从管理界面添加用户,但显示此错误:

/admin/auth/user/add/ 处的 IntegrityError(1062,“密钥 'user_id' 的重复条目 '7'”)

这是我的 UserProfile 类:

class UserProfile(models.Model):
    # This field is required.
    user = models.OneToOneField(User)
    # Other fields here
    cliente = models.ForeignKey(cliente, null=True, blank=True)
    setor = models.CharField(verbose_name=u'Setor',
                             max_length=1,
                             default='C',
                             choices=Setor_CHOICE)


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


post_save.connect(create_user_profile, sender=User)

我尝试使用这个:

post_save.connect(create_user_profile, sender=User, dispatch_uid='user_id')

但同样的错误。

我怎样才能解决这个问题?

谢谢

4

1 回答 1

2

似乎它正在尝试创建连接到同一用户的第二个 UserProfile 实例。如果 post_save 信号被触发两次,就会发生这种情况。

正如这个答案所指出的,这可能是模型导入顺序的结果。

于 2013-02-20T20:23:17.403 回答