users = User.objects.all()
post.author = users.name
考虑到User
是超级用户信息存储在数据库中的位置。它会引发错误,如下所示:
'Query Set' object has no attribute 'name'
答案 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