我认为这是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')
管理站点上的,实例不是用户,实例是管理员用户。
解决方案是在管理站点上创建用户时删除此代码,另一个解决方案呢?这很烦人......
答案 0 :(得分:1)
尝试注释掉profile.user = instance
行。已创建或检索的配置文件对象已由get_or_create
设置用户。