0

以下是如何获取具有相关配置文件的用户:Django:User.objects.profile.all() 和 User.objects.get_profile() 之间的区别?

但是这个例子使用的是用户 ID。我想获取activation_keyUserProfile 对象中的用户,我尝试类似:

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

但我得到:

UserProfile 匹配查询不存在。

4

2 回答 2

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

希望那是您正在寻找的

于 2012-10-23T18:38:02.647 回答
0
user = User.objects.get(userprofile__activation_key='key')
于 2012-10-23T22:47:46.290 回答