CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[DJANGO] Comment sélectionner les attributs d'un objet d'une database ?

Swiftsword
Swiftsword
Niveau 5
17 décembre 2019 à 01:16:07

Je suis tellement désespéré que je demande ici, on sait jamais. :noel:

Je dois créer un site où un utilisateur peut ajouter les autres utilisateurs de la base de données en tant qu'amis. Pour cela, j'aimerais créer une liste déroulante avec tous les prénoms & noms des utilisateurs de la database. Mais comment sélectionner le firstname + lastname de chacun de mes User ?

Mon models.py :

class User(models.Model):
firstname = models.CharField(max_length=30)
lastname = models.CharField(max_length=50)
country = models.CharField(max_length=50)
email = models.EmailField(max_length=50)
phone = models.CharField(max_length=30)
password = models.CharField(max_length=128)
GENDER_CHOICES = (
('M','Male'),
('F','Female'),
('X','X'),
)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)

Ma fonction register_view dans le views.py :

def register_view(request):
if 'email' in request.GET:
newUser = User(firstname=request.GET['firstname'],
lastname=request.GET['lastname'],
country=request.GET['country'],
email=request.GET['email'],
phone=request.GET['phone'],
password=request.GET['password'],
gender=request.GET['gender'])
newUser.save()
return redirect('/login')
else:
return render(request, 'register.html')

J'arrive vraiment pas à trouver sur internet... Je ne trouve que des "User.objects.filter(firstname =" X") mais cette fonction renvoie une liste des Users dont l'attribut firstname correspond à X, or je veux une liste des attributs firstname et lastname de chacun des Users... Pour faire la dropdown list et lier le user à ses amis selon 1-n j'en parle même pas, pour l'instant juste avancer sur ça ce serait vraiment bien...

Merci d'avance !! :noel:

tsez93
tsez93
Niveau 10
17 décembre 2019 à 02:16:37

Je crois que dans ton modèle il manque une relation pour stocker les amis de l'utilisateur.
Tu devrais :
1) utiliser une balise "code" pour poster du code
2) écrire ton schéma de base de données avant de coder
3) réfléchir à ton projet dans son ensemble plutôt que coder comme ca vient

Klinxa
Klinxa
Niveau 4
17 décembre 2019 à 11:15:56

Comme dit avant il faut poster en utilisant la balise code, surtout pour du python, là ca va c'est simple à comprendre mais avec un code plus complexe, cela aurait rendu plus hardu la compréhension.

Sinon je ne comprends pas trop pourquoi tu utilises des request.GET :(
Tu veux faire un système de filtre pour trier les utilisateurs en fonction du nom, prénom etc. ? ou simplement afficher les utilisateurs avec leurs attributs ?

Si tu veux simplement les afficher, tu as juste à récuperer la liste des utilisateurs dans ton views.py et dans le fichier de template .html tu utilises une boucle du style

{% for user in users %}

ensuite tu peux accéder au nom + prénom : user.nom, user.prenom etc.

:d) https://docs.djangoproject.com/en/3.0/intro/tutorial04/

KimGaEun
KimGaEun
Niveau 10
17 décembre 2019 à 22:18:54

Pour accéder à la liste de tous les utilisateurs tu fais User.objects.all() tout simplement.
Ensuite tu peux boucler dessus, accéder aux attributs, etc.

Message édité le 17 décembre 2019 à 22:19:32 par KimGaEun
Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment