如何在Django中检索超级用户的名称?

时间:2020-08-23 18:23:12

标签: django django-models django-views

users = User.objects.all()
post.author = users.name

考虑到User是超级用户信息存储在数据库中的位置。它会引发错误,如下所示:

'Query Set' object has no attribute 'name'

3 个答案:

答案 0 :(得分:2)

from django.contrib.auth.models import User
superusers = User.objects.filter(is_superuser=True)
superuser_names = [user.username for user in superusers]

答案 1 :(得分:0)

如果您认为超级用户已登录,则可以通过以下方式检查用户名:

if request.user.is_superuser:
    name = request.user.username
else:
    name = None

答案 2 :(得分:0)

user = User.objects.all()返回包含数据库中所有用户的queryset,因此不能在数据库上使用.name

据我所知,您要使用username中的user,因此如果要使用user.username,则应使用user.first_name,这仅适用于< strong>单个对象不在查询集中。您可以使用用户user.is_superuser来查找该用户是否为超级用户。

这会有所帮助-> Read More in Docs