Django:我如何得到所有员工的查询集?

43T*_*cts 0 python django django-orm django-queryset

Django:我如何得到所有员工的查询集?

我尝试着:

staff = User.objects.get(is_staff=True)
Run Code Online (Sandbox Code Playgroud)

但得到一个TypeError:

'User' object is not iterable
Run Code Online (Sandbox Code Playgroud)

gam*_*mer 6

get in queryset是获取特定的对象值而不是可迭代的.

user = User.objects.get(id=2)
Run Code Online (Sandbox Code Playgroud)

它为您提供id为2的用户对象.只能有1个id为2的用户

但在您的情况下,可能有许多用户具有员工身份

staff = User.objects.filter(is_staff=True)
Run Code Online (Sandbox Code Playgroud)

这会为您提供员工列表.如果您正在寻找一个对象,那么使用get如果查找列表然后使用过滤器.

您现在可以在模板中使用此功能

{% for stf in staff %}
    {{stf.username}}
{% endfor %} 
Run Code Online (Sandbox Code Playgroud)