Python

Qu'est-ce que Django ORM?

Qu'est-ce que Django ORM?
Dans le monde d'aujourd'hui, la technologie est devenue une partie intégrante de nos vies alors que tout ce qui nous entoure s'est numérisé. Ceci est également vrai même dans le secteur des entreprises. Les entreprises qui n'utilisent pas la bonne infrastructure et ne sont pas en mesure d'équiper la bonne architecture technologique finissent par prendre du retard sur leurs concurrents. C'est principalement parce que, de nos jours, la quantité de données sur lesquelles les entreprises et les organisations s'appuient pour leur analyse a augmenté de façon exponentielle et, par conséquent, pour qu'elles puissent les traiter et les interpréter de manière efficace, elles doivent disposer du bon ensemble. d'outils et d'infrastructures pour les soutenir.

Les bases de données sont l'une des technologies les plus populaires utilisées pour la collecte et l'organisation des données, car elles permettent aux données d'être facilement accessibles, gérables et mises à jour. Cependant, ces bases de données nécessitent un système de gestion pour effectuer ces tâches. La plupart du temps, le langage SQL est utilisé pour effectuer des opérations dans une base de données, cependant, à mesure que votre application grandit et devient plus complexe, il devient extrêmement difficile d'avoir une idée de ce que fait exactement chaque opération. C'est là qu'intervient la technique de l'Object Relational Mapping (ORM). Cela permet d'interroger et de manipuler les données à l'aide d'un langage de programmation orienté objet de votre choix. Les ORM réduisent la complexité de votre code et le rendent plus compréhensible, ce qui, à son tour, facilite la mise à jour, la maintenance et la réutilisation du code.

Dans cet article, nous examinerons l'ORM Django, qui est un ORM basé sur Python et, par conséquent, l'une des technologies les plus populaires utilisées de nos jours.

Qu'est-ce que Django?

Avant de passer à l'examen de l'ORM de Django, voyons d'abord ce qu'est réellement cette technologie Pythonic appelée Django.

Django est un framework web gratuit et open source conçu en Python, et a donc un design très propre et soigné tout en étant simple, flexible, fiable et évolutif. Cela rend les choses extrêmement faciles pour les développeurs Web car il fournit aux utilisateurs des composants prêts à l'emploi qui, à leur tour, les empêchent de tout écrire à partir de zéro et, par conséquent, accélèrent leur travail et réduisent les frais généraux sur leur site Web. En plus de cela, il est extrêmement sécurisé et aide les utilisateurs à éviter les problèmes de sécurité tels que les attaques de réparation de l'interface utilisateur, les injections SQL, etc. Il dispose également d'une communauté extrêmement large qui est toujours accessible via les forums et toujours prête à offrir son aide aux autres.

Voyons maintenant enfin l'ORM Django et certaines de ses principales fonctionnalités.

Accéder à l'ORM Django

Après avoir installé Django et configuré son projet, on nous fournit généralement les fichiers initiaux suivants :

monsite ici fait référence au nom du projet que vous avez créé. Tous ces fichiers ont leurs propres utilisations et il est important de savoir quel rôle joue chaque fichier. Notre objectif ici va être sur la gestion.py qui va contrôler beaucoup de choses différentes pour nous, telles que la configuration d'un serveur, effectuer des migrations, communiquer avec une base de données, ainsi que passer en mode ORM.

Pour ouvrir l'ORM Django, ouvrez une ligne de commande à partir du répertoire principal de votre projet Django et exécutez la commande suivante :

$ python gérer.coque py

Cela nous ouvrira un shell interactif qui nous permettra de commencer à interagir avec la base de données à l'aide de l'ORM.

Manipulation de la base de données à l'aide de requêtes dans Django ORM

Puisque l'ORM nous permet d'interagir avec la base de données, nous pouvons maintenant écrire différentes requêtes pour récupérer et manipuler les données de la base de données. Cependant, avant de pouvoir commencer à travailler sur la base de données dans le shell, nous devons d'abord importer tous les modèles qui lui sont associés. Cela peut être fait en exécutant simplement une commande dans le shell interactif, comme indiqué ci-dessous :

$ de appName.les modèles importent le nom du modèle

Ici, l'appName fait référence au nom de votre application que vous avez créée et donc où vos modèles sont actuellement stockés. Le modelName fait référence au nom du modèle que vous souhaitez importer et utiliser. Vous pouvez importer plusieurs modèles ici, comme le montre l'exemple ci-dessous :

Maintenant, vous pouvez accéder à l'objet modèle et en lire les données. Par exemple, si nous voulons la liste de tous les messages, nous pouvons simplement les obtenir en exécutant la commande suivante dans notre terminal :

$ Publier.objets.tout()

Voici le résultat de la commande ci-dessus :

Nous pouvons faire plusieurs autres types de choses dans l'ORM, comme créer de nouvelles données de base de données, mettre à jour les données et toutes les autres commandes de base de données que vous pouvez.

Modélisation de base de données

L'une des meilleures choses que l'ORM Django offre à ses utilisateurs est la possibilité de lier et d'établir automatiquement des relations entre les attributs de l'objet de votre modèle et les champs de table correspondants. Dans les bases de données, il existe principalement trois types de relations. ce sont la relation un-à-un, la relation un-à-plusieurs ou plusieurs-à-un et les relations plusieurs-à-plusieurs.

Une relation un-à-un est, comme son nom l'indique, où l'enregistrement d'une table correspond à un seul enregistrement d'une autre table. Dans Django ORM, nous pouvons facilement établir ceci comme suit :

classe Parent(modèles.Modèle):
utilisateur = modèles.UnVersUnChamp(
Utilisateur,
on_delete=modèles.CASCADE,
primary_key=Vrai,
)
name_of_father = modèles.CharField(max_length=100)
name_of_mother = modèles.CharField(max_length=100)

Ici, chaque utilisateur ne peut avoir que des parents biologiques uniques et, par conséquent, il s'agit d'une relation un à un. Maintenant, si nous supprimons un utilisateur accédant à ce modèle, cela supprimera également le modèle du 2sd utilisateur car ils dépendent les uns des autres.

Un un-à-plusieurs ou plusieurs-à-un fait référence à une relation dans laquelle un enregistrement parent peut avoir plusieurs enregistrements enfants, cependant, il peut également n'avoir qu'un ou aucun enfant. Dans Django ORM, nous pouvons facilement établir cette relation en utilisant le Clé étrangère domaine:

classe Client(modèles.Modèle):
nom = modèles.CharField(max_length=255)
classe Véhicule (modèles.Modèle):
client = modèles.Clé étrangère(
Client,
on_delete=modèles.CASCADE
)

Comme on le voit dans le code ci-dessus, un client peut avoir plusieurs véhicules.

Enfin, une relation plusieurs-à-plusieurs définit une relation dans laquelle plusieurs tables peuvent être liées les unes aux autres. Nous pouvons créer ceci en utilisant le Plusieurs à plusieurs domaine. Dans l'exemple ci-dessous, nous avons créé deux modèles, un pour l'utilisateur et l'autre pour ses publications. Il peut également y avoir plusieurs utilisateurs puisque chaque utilisateur peut avoir plusieurs publications.

classe Utilisateur(modèles.Modèle):
poste = modèles.ManyToManyField(Post, vide=True)
amis = modèles.ManyToManyField(paramètres.AUTH_USER_MODEL, vide=Vrai)
classe Post(modèles.Modèle):
poste = modèles.Champ de texte()
aime = modèles.ManyToManyField(paramètres.AUTH_USER_MODEL, blank=True, related_name='user_likes')

Conclusion

L'ORM Django est un outil extrêmement puissant et a grandement facilité le travail des développeurs Web. Il a une variété de fonctionnalités telles que la manipulation de modèles de base de données, l'établissement d'une relation entre les modèles, et bien plus encore. En un mot, l'ORM Django est l'une des meilleures choses qui viennent avec Django et est très efficace pour le travail qui lui est fourni.

Comment modifier les paramètres de la souris et du pavé tactile à l'aide de Xinput sous Linux
La plupart des distributions Linux sont livrées avec la bibliothèque "libinput" par défaut pour gérer les événements d'entrée sur un système. Il peut ...
Remappez les boutons de votre souris différemment pour différents logiciels avec X-Mouse Button Control
Peut-être que vous avez besoin d'un outil qui pourrait faire changer le contrôle de votre souris avec chaque application que vous utilisez. Si tel est...
Examen de la souris sans fil Microsoft Sculpt Touch
J'ai lu récemment sur le Microsoft Sculpt Touch souris sans fil et j'ai décidé de l'acheter. Après l'avoir utilisé pendant un certain temps, j'ai déci...