我在名为user_profile
的应用中有一个模型,如下所示:
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
user = models.OneToOneField(User)
def __unicode__(self):
return self.user.username
并在我的设置中:
AUTH_PROFILE_MODULE = 'user_profile.UserProfile'
但如果我尝试:
u = UserProfile.objects.get(pk=1)
p = u.get_profile()
我收到以下错误:
AttributeError: 'UserProfile' object has no attribute 'get_profile'
我在这里缺少什么?
非常感谢任何帮助。
答案 0 :(得分:33)
对于因遵循旧文档而导致此错误的其他任何人,django 1.7中已将get_profile()
折旧。
相反,您只需从用户访问userprofile,如下所示。
u_p = user.userprofile
其中userprofile
是UserProfile
类
您还可以点击右下角的所需版本更改为使用较新的文档
答案 1 :(得分:4)
呃,您正在尝试获取UserProfile的用户个人资料。我希望您的意思是获得一位用户,然后在其上调用get_profile()
。
答案 2 :(得分:0)
我正在使用Django 1.8而.userprofile
会抛出错误。
为了解决这个问题,因为我在Django 1.3中设置了配置文件,升级到1.8之后我只是将.get_profile()
更改为profile
并且它可以正常工作。