注册时未创建用户个人资料

时间:2019-07-31 18:56:39

标签: django django-models django-views

过去几天似乎运行良好,但是由于添加了跟踪功能,因此配置文件在注册时不会创建。我通读了其他类似问题,然后看到了有关使用@reciever的信息,我们是否必须使用接收器?我遵循了有关如何在注册时允许创建个人资料的教程,其内容如下(我有一个函数,忘记了哪个应该做同样的事情)

# Wasn't commented out
User.profile = property(lambda u: CustomUserProfile.objects.get_or_create(user=u)[0])

# Wasn't commented out
def post_save_user_model_receiver(sender, instance, created, *args, **kwargs):
    if created:
        try:
            Profile.objects.create(user=instance)
        except:
            pass

# I had this saved( commented out ), are any of these correct?
def create_user_profile(sender, instance, created, **kwargs):
    if not created:
        CustomUserProfile.objects.create(user=instance)

它在我的models.py中,但不在函数或配置文件类中,是我的错误,还是我们真的必须使用接收器?原谅我,我一直在通过教程和文档自学,但是不推荐使用许多教程(我不知道),所以我自己一个人走了,现在我为此感到遗憾。

1 个答案:

答案 0 :(得分:0)

我通过删除数据库,所有 pycaches 和迁移(init.py除外)并按照本教程https://simpleisbetterthancomplex.com/tutorial/2016/07/28/how-to-create-django-signals.html

来解决此问题

由于某种原因,我不得不运行python3 manage.py makemigrations profs然后进行迁移以制作表。不知道为什么,但是到目前为止似乎还行。