首页 > 解决方案 > QuerySet 对象没有属性 user

问题描述

我在尝试获取所有个人资料用户的列表时遇到了一点问题。当我尝试下面的代码时,Django 说:QuerySet object has no attribute user

class Profile(models.Model):
    user = models.OneToOneField(settings.Auth)

def home(request):
    p = Profile.objects.exclude(user=request.user)
    u = p.user

但是当我在最后添加 first() 时,它只显示第一个用户。所有用户的列表是我想要的。

def home(request):
    p = Profile.objects.exclude(user=request.user).first() 
    u = p.user

标签: pythondjango

解决方案


你得到了错误,因为你试图从这里的查询集中获取属性u = p.user。例如,您只能从查询集的项目中获取属性p[0].user

如果您想获取用户列表,您可以直接过滤User模型。

from django.contrib.auth.models import User

User.objects.exclude(pk=request.user.id)

推荐阅读