【问题标题】:How to get user object by profile field value如何通过配置文件字段值获取用户对象
【发布时间】:2012-10-23 18:18:49
【问题描述】:

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

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

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

但我得到了:

UserProfile 匹配查询不存在。

【问题讨论】:

  • 你确定有activation_key=key的UserProfile吗?

标签: django django-models django-authentication


【解决方案1】:

如果您尝试获取与您的 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

希望这就是你要找的东西

【讨论】:

    【解决方案2】:
    user = User.objects.get(userprofile__activation_key='key')
    

    【讨论】:

      猜你喜欢
      • 2016-02-24
      • 1970-01-01
      • 2017-06-30
      • 2013-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多