Django用户配置文件自动创建在管理站点上不起作用

时间:2012-07-31 08:27:34

标签: django instance

我认为这是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')
管理站点上的

,实例不是用户,实例是管理员用户。

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

1 个答案:

答案 0 :(得分:1)

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