Python

Was ist Django ORM?

Was ist Django ORM?
In der heutigen Welt ist Technologie zu einem festen Bestandteil unseres Lebens geworden, da alles um uns herum digitalisiert wurde. Das gilt auch im Business-Bereich. Unternehmen, die nicht die richtige Infrastruktur einsetzen und nicht in der Lage sind, die richtige technologische Architektur auszustatten, fallen hinter ihre Konkurrenten zurück. Dies liegt vor allem daran, dass die Datenmenge, auf die Unternehmen und Organisationen für ihre Analyse angewiesen sind, heute exponentiell gewachsen ist und sie daher, um sie effizient verarbeiten und interpretieren zu können, das richtige Set benötigen von Tools und Infrastruktur, um sie zu unterstützen.

Datenbanken sind eine der beliebtesten Technologien für die Sammlung und Organisation von Daten, da sie es ermöglichen, dass die Daten leicht zugänglich, verwaltbar und auch aktualisiert werden. Diese Datenbanken benötigen jedoch ein Verwaltungssystem, damit sie diese Aufgaben ausführen können. Meistens wird die Sprache SQL verwendet, um Operationen in einer Datenbank auszuführen, aber wenn Ihre Anwendung wächst und komplexer wird, wird es extrem schwierig, eine Vorstellung davon zu haben, was genau jede Operation macht. Hier kommt die Technik Object Relational Mapping (ORM) ins Spiel. Dies ermöglicht die Abfrage und Manipulation der Daten mit einer objektorientierten Programmiersprache Ihrer Wahl. ORMs reduzieren die Komplexität Ihres Codes und machen ihn verständlicher, was wiederum die Aktualisierung, Wartung und Wiederverwendung des Codes erleichtert.

In diesem Artikel werfen wir einen Blick auf das Django ORM, ein Python-basiertes ORM und daher eine der beliebtesten Technologien, die heutzutage verwendet werden.

Was ist Django??

Bevor wir uns das ORM von Django ansehen, lassen Sie uns zuerst sehen, was diese Pythonic-Technologie namens Django eigentlich ist.

Django ist ein kostenloses und Open-Source-Web-Framework, das in Python entwickelt wurde und daher ein sehr sauberes und ordentliches Design hat und gleichzeitig einfach, flexibel, zuverlässig und skalierbar ist. Es macht es Webentwicklern extrem einfach, da es den Benutzern vorgefertigte Komponenten zur Verfügung stellt, die sie wiederum daran hindern, alles von Grund auf neu zu schreiben, was ihre Arbeit beschleunigt und den Overhead auf ihrer Website reduziert. Darüber hinaus ist es extrem sicher und hilft Benutzern, Sicherheitsbedenken wie UI-Redress-Angriffe, SQL-Injections usw. zu vermeiden. Es hat auch eine extrem große Community, die immer über Foren zugänglich ist und immer bereit ist, anderen ihre Hilfe anzubieten.

Schauen wir uns nun endlich das Django ORM und einige seiner Hauptfunktionen an.

Zugriff auf den Django ORM

Nach der Installation von Django und der Einrichtung seines Projekts werden uns normalerweise die folgenden Ausgangsdateien zur Verfügung gestellt:

mysite hier bezieht sich auf den Namen des Projekts, das Sie erstellt haben. Alle diese Dateien haben ihre eigenen Verwendungszwecke und es ist wichtig, dass man weiß, welche Rolle jede Datei spielt. Unser Fokus hier wird auf dem Managen liegen.py-Datei, die für uns viele verschiedene Dinge steuert, wie das Einrichten eines Servers, die Durchführung von Migrationen, die Kommunikation mit einer Datenbank sowie den Wechsel in den ORM-Modus.

Um das Django ORM zu öffnen, öffnen Sie eine Befehlszeile aus dem Hauptverzeichnis Ihres Django-Projekts und führen Sie den folgenden Befehl aus:

$ Python verwalten.Py-Schale

Dadurch wird eine interaktive Shell für uns geöffnet, die es uns ermöglicht, mithilfe des ORM the mit der Datenbank zu interagieren.

Manipulation der Datenbank mit Abfragen in Django ORM

Da uns das ORM ermöglicht, mit der Datenbank zu interagieren, können wir jetzt verschiedene Abfragen schreiben, um die Daten aus der Datenbank abzurufen und zu bearbeiten. Bevor wir jedoch mit der Arbeit an der Datenbank in der Shell beginnen können, müssen wir zunächst alle damit verbundenen Modelle importieren. Dies kann durch einfaches Ausführen eines Befehls in der interaktiven Shell erfolgen, wie unten gezeigt:

$ von AppName.Modelle importieren modelName

Hier bezieht sich der appName auf den Namen Ihrer App, die Sie erstellt haben und wo Ihre Modelle derzeit gespeichert sind. Der modelName bezieht sich auf den Namen des Modells, das Sie importieren und verwenden möchten. Sie können hier mehrere Modelle importieren, wie im folgenden Beispiel zu sehen:

Jetzt können Sie auf das Modellobjekt zugreifen und Daten daraus lesen. Wenn wir zum Beispiel die Liste aller Beiträge haben möchten, können wir sie einfach abrufen, indem wir den folgenden Befehl in unserem Terminal ausführen:

$ Beitrag.Objekte.alle()

Folgendes ist das Ergebnis des obigen Befehls:

Wir können verschiedene andere Dinge im ORM tun, wie das Erstellen neuer Datenbankdaten, das Aktualisieren der Daten und alle anderen Datenbankbefehle, die Sie können.

Datenbankmodellierung

Eines der besten Dinge, die das Django ORM seinen Benutzern bietet, ist die Möglichkeit, automatisch Beziehungen zwischen den Attributen des Objekts Ihres Modells und den entsprechenden Tabellenfeldern herzustellen. In Datenbanken gibt es hauptsächlich drei Arten von Beziehungen. Dies sind die Eins-zu-Eins-Beziehung, die Eins-zu-Viele- oder Viele-zu-Eins-Beziehung und die Viele-zu-Viele-Beziehungen.

Eine Eins-zu-Eins-Beziehung ist, wie der Name schon sagt, dass der Datensatz einer Tabelle einem einzelnen Datensatz einer anderen Tabelle entspricht. In Django ORM können wir dies leicht wie folgt festlegen:

Klasse Eltern (Modelle.Modell):
Benutzer = Modelle.OneToOneField(
Benutzer,
on_delete=Modelle.KASKADE,
Primary_key=Wahr,
)
name_of_father = Modelle.CharField(max_length=100)
name_of_mother = Modelle.CharField(max_length=100)

Hier kann jeder Nutzer nur leibliche Alleinerziehende haben, daher handelt es sich um eine Eins-zu-Eins-Beziehung. Wenn wir nun einen Benutzer löschen, der auf dieses Modell zugreift, wird auch das Modell der 2 . gelöschtnd Benutzer, da sie voneinander abhängig sind.

Eine Eins-zu-Viele- oder Viele-zu-Eins-Beziehung bezieht sich auf eine Beziehung, bei der ein übergeordneter Datensatz mehrere untergeordnete Datensätze haben kann, jedoch auch nur ein oder kein untergeordnetes Element. In Django ORM können wir diese Beziehung ganz einfach mithilfe des Unbekannter Schlüssel Feld:

Klasse Kunde (Modelle.Modell):
Name = Modelle.CharField(max_length=255)
Klasse Fahrzeug (Modelle.Modell):
Kunde = Modelle.Unbekannter Schlüssel(
Kunde,
on_delete=Modelle.KASKADE
)

Wie im obigen Code zu sehen ist, kann ein Kunde mehrere Fahrzeuge haben.

Schließlich definiert eine Viele-zu-Viele-Beziehung eine Beziehung, in der sich mehrere Tabellen aufeinander beziehen können. Wir können dies erstellen mit dem Viel zu viel Feld. Im folgenden Beispiel haben wir zwei Modelle erstellt, eines für den Benutzer und das andere für seine Beiträge. Es kann auch mehrere Benutzer geben, da jeder Benutzer mehrere Beiträge haben kann.

Klasse Benutzer (Modelle.Modell):
Beitrag = Modelle.ManyToManyField(Post, blank=True)
Freunde = Modelle.ManyToManyField(Einstellungen.AUTH_USER_MODEL, blank=True)
Klasse Post (Modelle.Modell):
Beitrag = Modelle.Textfeld()
mag = Modelle.ManyToManyField(Einstellungen.AUTH_USER_MODEL, blank=True, related_name='user_likes')

Fazit

Das Django ORM ist ein extrem mächtiges Werkzeug und hat die Arbeit von Webentwicklern so viel einfacher gemacht. Es verfügt über eine Vielzahl von Funktionen wie die Manipulation von Datenbankmodellen, das Herstellen einer Beziehung zwischen den Modellen und vieles mehr. Kurz gesagt, das Django ORM ist eines der besten Dinge, die mit Django geliefert werden, und ist bei der ihm gestellten Aufgabe sehr effektiv.

Shadow of the Tomb Raider für Linux Tutorial
Shadow of the Tomb Raider ist die zwölfte Erweiterung der Tomb Raider-Reihe – ein Action-Adventure-Franchise von Eidos Montrealdos. Das Spiel wurde vo...
So steigern Sie die FPS unter Linux?
FPS steht für Bilder pro Sekunde. Die Aufgabe von FPS besteht darin, die Bildrate bei Videowiedergaben oder Spielleistungen zu messen. In einfachen Wo...
Top Oculus App Lab-Spiele
Wenn Sie Besitzer eines Oculus-Headsets sind, müssen Sie über Sideloading informiert sein. Sideloading ist der Prozess der Installation von Inhalten, ...