1

我认为这是 Django 管理的一个错误,当您在管理站点上添加一个用户并且您的模型上有一个自动创建配置文件时,站点崩溃,因为创建配置文件的实例存在问题:

def create_user_profile(sender, instance, created, **kwargs) :

    if created :
        data = Profile.objects.get_or_create(user = instance)
        profile = data[0]

        # Initialisation du profil
        profile.user = instance
        profile.credits = 0
        profile.score = 0

        profile.save()

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

在管理站点上,实例不是用户,实例是管理员用户。

解决方案是在管理站点上创建用户时删除此代码,另一种解决方案呢?这很烦人……

4

1 回答 1

1

尝试注释掉该行profile.user = instance。创建或检索的配置文件对象已具有由 设置的用户get_or_create

于 2012-07-31T08:44:32.053 回答