如何通过配置文件字段值获取用户对象

时间:2012-10-23 18:18:49

标签: django django-models django-authentication

以下是如何获取相关个人资料的用户:Django: Difference between User.objects.profile.all() and User.objects.get_profile()?

但是这个例子是使用用户ID。我希望通过activation_key获取UserProfile对象中的用户,我尝试类似:

UserProfile.objects.select_related('user').get(activation_key=key)

但我得到了:

  

UserProfile匹配查询不存在。

2 个答案:

答案 0 :(得分:2)

如果你要做的是获取与你的UserProfile相关联的django.contrib.auth.models.User对象,如下例所示:

from django.contrib.auth.models import User

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    activation_key = models.CharField(...)

我要做的是:

user_profile = UserProfile.objects.get(activation_key='some_key')
user = user_profile.user

希望这就是你要找的东西

答案 1 :(得分:0)

user = User.objects.get(userprofile__activation_key='key')