users = User.objects.all() post.author = users.name Considering that User is where superuser's info is stored in the database. It throws an error as:'Query Set' object has no attribute 'name'
3 Réponses :
Si vous êtes sur une vue que SuperUserer est connecté, vous pouvez vérifier le nom d'utilisateur par:
from django.contrib.auth.models import User superusers = User.objects.filter(is_superuser=True) superuser_names = [user.username for user in superusers]
Aussi loin que j'ai compris votre problème, vous voulez le nom d'utilisateur code> de Cela aidera -> En savoir plus dans Docs < / p> user = user.Object.All () code> renvoie un
QuerySet code> contenant tous l'utilisateur dans la base de données, vous ne pouvez donc pas utiliser
.name code> dessus. p>
utilisateur code>, vous devez donc utiliser
user.Asername code> si vous voulez le prénom Utiliser < Code> user.first_name code>, cela fonctionnera uniquement sur Un seul objet non sur le querySet fort>. Vous pouvez utilisateur
user.is_superuser code> pour rechercher si l'utilisateur est superutilisateur ou non. P>
Utilisateurs CODE> est QuerySet Pas un
objet code>
Quel superutilisateur voulez-vous obtenir le nom de? L'utilisateur effectue une demande peut être accessible via
demande.user code> bien qu'ils ne soient pas un superutilisateur