15.5. Modèles dans Django : relations entre les modèles

Page 79 | Écouter en audio

Les modèles dans Django sont une représentation de base de données en Python. Ils constituent un moyen unique et puissant d'interagir avec votre base de données, en utilisant un minimum de code SQL, tout en offrant un haut niveau d'abstraction pour manipuler vos données. L'un des aspects les plus importants des modèles dans Django est la possibilité de définir des relations entre eux, qui peuvent être utilisées pour modéliser presque tous les types de structures de données imaginables.

Il existe trois principaux types de relations qui peuvent être définies entre les modèles dans Django : "un à un" (OneToOneField), "plusieurs à un" (ForeignKey) et "plusieurs à plusieurs" (ManyToManyField). Chacun d'eux a un objectif spécifique et peut être utilisé pour modéliser différents types de relations entre les données.

OneToOneField

Une relation "un à un" est utilisée lorsqu'un objet est lié à un et un seul autre objet. Par exemple, si nous créons un système pour une école, nous pourrions avoir un modèle pour les étudiants et un modèle pour l'inscription académique. Chaque étudiant a un et un seul dossier académique, nous pouvons donc utiliser un champ OneToOneField pour représenter cette relation.

Étudiant de classe (models.Model): nom = models.CharField(max_length=100) Dossier académique de classe (models.Model) : étudiant = models.OneToOneField (Étudiant, on_delete=models.CASCADE) notes = modèles.JSONField()

Clé étrangère

Une relation « plusieurs-à-un » est utilisée lorsque plusieurs objets sont liés à un seul objet. Par exemple, si nous créons un système pour un blog, nous pouvons avoir un modèle pour une publication et un modèle pour un commentaire. Une publication peut contenir de nombreux commentaires, mais chaque commentaire est lié à une et une seule publication, nous pouvons donc utiliser un champ ForeignKey pour représenter cette relation.

classe Post (models.Model): titre = models.CharField(max_length=100) contenu = modèles.TextField() Commentaire de classe (models.Model): post = models.ForeignKey(Post, on_delete=models.CASCADE) texte = modèles.TextField()

ManyToManyField

Une relation « plusieurs-à-plusieurs » est utilisée lorsque plusieurs objets sont liés à plusieurs autres objets. Par exemple, si nous créons un système pour une librairie, nous pourrions avoir un modèle pour Book et un modèle pour Author. Un livre peut avoir plusieurs auteurs, et un auteur peut avoir écrit plusieurs livres. Nous pouvons donc utiliser un champ ManyToManyField pour représenter cette relation.

classe Auteur (models.Model): nom = models.CharField(max_length=100) livre de classe (modèles.Modèle): titre = models.CharField(max_length=100) auteurs = models.ManyToManyField (Auteur)

Ce ne sont là que quelques exemples de la façon dont les relations de modèle peuvent être utilisées dans Django. La vraie beauté de ces relations est qu’elles sont extrêmement flexibles et peuvent être utilisées pour modéliser presque tous les types de structures de données imaginables. De plus, Django fournit une API de requête puissante qui vous permet de récupérer et de manipuler vos données de manière efficace et intuitive.

En bref, les modèles dans Django sont un outil puissant pour modéliser et manipuler vos données. Ils fournissent une abstraction de haut niveau sur SQL, vous permettant de vous concentrer sur la logique de votre application plutôt que de vous soucier des détails de la base de données. Les relations entre les modèles constituent une partie cruciale de cette abstraction et peuvent être utilisées pour modéliser presque tous les types de structures de données que vous pouvez imaginer.

Répondez maintenant à l’exercice sur le contenu :

Quels sont les trois principaux types de relations qui peuvent être définies entre les modèles dans Django, et quel est le but de chacun ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

80Modèles dans Django : migrations de bases de données

3 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte