我想从Djang上的auth_user表中获取一些数据

2024-09-30 12:31:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从auth_user表中获取一些数据,但我只能获取username。在

在视图.py在

from myapp.models import User2

result1 = User2.objects.filter(email="foobar@gmail.com")
print(result1)  # [<User: JohnLennon>]
result2 = User2.objects.filter(pk=1)
print(result2)  # [<User: JohnLennon>]

在模型.py在

^{pr2}$

使用pdb,这些都不起作用。在

(Pdb)result1.id
(Pdb)result2.email
*** AttributeError: 'QuerySet' object has no attribute 'email'

我可以从其他表中获取数据。就像

在视图.py在

rows = User_Profile.objects.filter(uid=1)

在测试.html在

{% for row in rows %}
    {{ row.fname }} 
{% endfor %}

但是,我不能从auth\u user表中使用相同的方法。 如何从auth_user表中获取用户的数据,如first_name和email?在


Tags: 数据pyauth视图objectsemailfilterpdb
2条回答

对不起。我好像很困惑。。。在

(Pdb) for i in result: i.email
'foobar@gmail.com'

成功了。在

当你这么做的时候

result1 = User2.objects.filter(email="foobar@gmail.com")

将创建查询集列表。result1不是QuerySet对象,因此无法通过打印list的attr来访问用户的属性。在

要么你必须像这样使用get()方法

^{pr2}$

或者直接访问QuerySet列表的第一个对象,如下所示:

result1 = User2.objects.filter(email="foobar@gmail.com")[0]

相关问题 更多 >

    热门问题