的Django 1.9的错误 - “用户”对象有没有属性“个人资料”
问题描述:
所以我最近增加了通过OneToOneField链接到用户,像这样一个可选的用户配置文件模型:的Django 1.9的错误 - “用户”对象有没有属性“个人资料”
class UserProfile(models.Model): # Creating class
user = models.OneToOneField(User, on_delete=models.CASCADE)
这工作正常,我在当前的UserProfile模型中添加了这个字段以将该配置文件链接到用户之前和之后都完好无损。
问题是当我登录的网站作为一个有效的用户上,在形式提交日志后,来到了一个错误:
AttributeError at /login/
'User' object has no attribute 'profile'
我已经通过我的文件搜索任何东西沿“User.profile
线'和类似的查询,但我似乎无法找到任何可以让我以用户身份正确登录的内容。
我不知道还有什么其他的代码张贴在这里,并没有想垃圾邮件这个问题具有潜在的不必要的代码,所以告诉我,如果有什么更具体的(views.py,models.py,forms.py,等等)来解决这类问题,或者如果你知道任何可能的解决方案。
谢谢
答
您没有设置一个对一个领域的任何related_name属性,因此反向访问将被称为userprofile
不profile
。
太棒了,可以工作。你知道我会如何用Django建议的'+'来编写它:https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.ForeignKey。 related_name删除向后的关系?我试过像related_name ='profile''+'之类的东西,和类似的东西。我对此没有发现任何内容,而Django文档示例本身仅使用“+”。 – jayt