Les requêtes avec une relation plusieurs-à-un
Exclusif Premium
Débloquez votre potentiel ! ✨
Cette session fait partie de notre programme Premium exclusif
+100h de formations exclusives
+180 exercices de code avancés
+100h de mentorats en réécriture
20 projets guidés pas à pas
Mentorats groupés hebdomadaires
Support individuel avec nos mentors
Prêt à passer au niveau supérieur ?
Découvrez tous les avantages Premium et transformez votre apprentissage dès aujourd'hui!
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte00:00:00 :Dans cette vidéo, on va voir comment associer un auteur à un article de blog,l'auteur qui est donc une clé étrangère, donc une foreign key,que l'on retrouve dans cette colonne author id à l'intérieur de ma table blog post.
00:00:13 :Donc pour ça, dans PyCharm, je vais lancer un terminal,et à l'intérieur de ce terminal, on va rentrer dans un shell avec python manage.py shell.
00:00:22 :On va importer tous les modèles dont on va avoir besoin.On a donc le modèle blog post et le modèle pour les utilisateurs.Alors pour les utilisateurs, si vous vous souvenez bien, la classe se trouve dans ce module,donc on va copier cette ligne ici, et on va la coller dans notre shell et valider avec entrée.
00:00:39 :On va ensuite importer depuis blog.models la classe blog post.On va ensuite récupérer un article de blog,donc dans ce cas-ci, on va par exemple récupérer le dernier article qui a un identifiant de 8.
00:00:52 :Donc pour ça, je vais faire une variable que je vais appeler blog post,qui va être égale à blog post.objects.get,et on va cibler l'article avec sa clé primaire, donc l'id de 8.
00:01:03 :Donc j'ai bien récupéré le blog post qui correspond à l'article les modèles avec Django.Donc j'affiche .title ici, et j'ai bien les modèles avec Django qui m'est retourné.
00:01:12 :Donc ça me confirme qu'il s'agit bien de cette entrée ici dans ma base de données,et on va lui associer un auteur.Donc l'auteur dans ce cas-ci, ça va être l'utilisateur avec le id 2.
00:01:22 :Donc on va faire la même chose avec la classe utilisateur.Ici, on va faire user égale à la classe user.objects.gets,et on va prendre le pk qui est égal à 2.
00:01:33 :Si j'affiche le user.username, j'ai bien tbash qui m'est retourné,qui correspond donc bien à cette entrée ici dans ma base de données.On va donc maintenant associer l'article de blog à l'utilisateur à l'intérieur de notre shell Python.
00:01:47 :Pour faire cette association, on va tout simplement faire blog post.author égale à user.Donc pour associer une instance de l'utilisateur à la clé étrangère author de mon article de blog,il suffit de faire une assignation.
00:02:02 :J'appuie sur Entrée pour valider,et je vais sauvegarder les changements en faisant blog post.save.Tant que je n'ai pas fait ça, les changements ne vont pas être sauvegardés.
00:02:10 :Si je reviens dans TablePlus et que j'actualise,là vous voyez qu'actuellement, on a toujours nul qui est dans la colonne author id.Si je reviens ici donc dans mon terminal et que je sauvegarde,donc je valide en appuyant sur Entrée.
00:02:21 :Je reviens dans TablePlus, j'actualise,et là on a bien une valeur qui est maintenant affichée dans cette colonne.La valeur, c'est la valeur 2.Donc vous voyez qu'on a une relation entre la clé primaire de mon auteur,donc l'auteur qui est ici, qui a une clé primaire de 2,
00:02:37 :et c'est donc cette valeur, la valeur de la clé primaire,donc de l'identifiant dans ce cas-ci, qui est assurément unique,qui est répertoriée dans ma table blog post.
00:02:46 :Donc dans blog post ici, on a un lien vers l'auteur avec la clé primaire de l'auteur,donc dans ce cas-ci 2.Donc si on avait un autre utilisateur avec comme clé primaire l'identifiantavec une valeur par exemple de 500,eh bien ici on aurait 500 à la place de 2.
00:03:02 :Si on clique sur la colonne ici et qu'on va voir à droite,on voit bien ici que cette colonne author id est de type integer,donc il s'agit bien d'un nombre entier qui fait référence à l'utilisateur dans cette table.
00:03:15 :Donc pour les clés étrangères, les foreign keys,c'est vraiment ce type de relation que vous allez avoir.Vous avez une colonne en plus directement dans la tablequi fait référence à un autre enregistrement dans une autre table,tout ça qui est relié donc par les clés primaires,et plus précisément par la valeur de ces clés primaires qui sont assurées d'être uniques.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.