首页 > 解决方案 > /profile/ 处的 AttributeError

问题描述

“用户”对象没有属性“配置文件”

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)

当我单击个人资料按钮查看用户的个人资料时,问题就来了

标签: pythondjangodjango-modelsdjango-views

解决方案


尝试使用它并再次注册:-


from django.db.models.signals import post_save
from django.contrib.auth.models import User
from django.dispatch import receiver

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)

    @receiver(post_save,sender=User)
    def post_save_create_profile(sender,instance,created,**kwargs):
        if created:
            Profile.objects.create(user=instance)

我改变了什么:-

我添加了post_save_create_profile函数来添加Profile(同时)注册用户。它将保存用户并Profile为用户保存一个。

注意: 不要忘记 Imports (receiver, post_save) 和 Also Runpython manage.py makemigrationspython manage.py migrate在更改后立即运行models.py


推荐阅读