Löschen Sie einen Datensatz eines Modells in Django

Vaibhav Vaibhav 18 Juli 2021
Löschen Sie einen Datensatz eines Modells in Django

Django ist ein vielseitiges Framework, mit dem wir sehr schnell Full-Stack-Anwendungen erstellen können. Django handhabt die meisten der komplexen und Kernaufgaben, die mit allen Webanwendungen verbunden sind, effizient, sodass Entwickler sie nicht von Grund auf neu schreiben müssen.

Glücklicherweise behandelt Django Datenbanken wie ein Zauber und macht es wirklich einfach, mit ihnen zu interagieren. Obwohl rohe SQL-Abfragen in Django geschrieben werden können, können wir mit Python mit der Datenbank und den Tabellen interagieren – wir können CRUD-Operationen über Datenbanken mit Python sehr schnell effizient ausführen.

In diesem Artikel stellen wir die Funktion der CRUD-Operation delete vor und zeigen, wie Sie einen Datensatz eines Modells in Django löschen können.

Löschen Sie einen Datensatz eines Modells mit der Methode delete() in Django

Alle Modellobjekte oder Instanzen in Django verfügen über eine Methode delete(), mit der dieser Datensatz gelöscht werden kann. Nun kann diese Methode delete() auch verwendet werden, um einen einzelnen Datensatz und mehrere davon zu löschen.

Um einen einzelnen Datensatz zu löschen, verwenden wir den folgenden Code:

record = ModelName.objects.get(id=25)
record.delete()

Die Methode get() holt den Datensatz mit der id als 25 und löscht ihn dann. Wenn der Datensatz jedoch nicht gefunden wird, wird eine Ausnahme ausgelöst. Um dies zu vermeiden, können wir einen try...except-Block wie folgt verwenden:

try:
    record = ModelName.objects.get(id=25)
    record.delete()
    print("Record deleted successfully!")
except:
    print("Record doesn't exists")

Wenn wir alle Datensätze löschen müssen, können wir diese Funktion delete() für ein QuerySet aufrufen, das alle Datensätze enthält. Der folgende Code führt die gleiche Operation aus:

records = ModelName.objects.all()
records.delete()

Wie oben erwähnt, können wir diese Funktion delete() auf einem QuerySet aufrufen; das bedeutet, dass wir diese Funktion auch bei einem QuerySet einiger gefilterter Datensätze aufrufen können. Beziehen Sie sich auf den folgenden Code für die gleiche Ausgabe:

records = ModelName.objects.filter(firstName="Vaibhav")
records.delete()
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Verwandter Artikel - Django Model