Erstellen Sie Objekte in Django
Dieser Artikel erklärt, was ein Modell ist und wie man Objekte mit der Methode create()
erstellt. Wir werden sehen, wie die Methode save()
in Django funktioniert.
Erstellen Sie Objekte mit der create()
-Methode in Django
Ein Modell in Django ist eine Klasse, die eine einzelne Tabelle in einer Datenbank darstellt. Wir könnten jeden Datentyp in unserer Anwendung durch sein Modell darstellen lassen.
Jedes Modell wird dann einer einzelnen Tabelle in einer Datenbank zugeordnet.
Wenn wir beispielsweise vier Modelle, Artikel, Benutzer, Autoren und Bücher haben, hätten wir vier Tabellen in einer Datenbank. Jede Tabelle wird von einem einzelnen Modell abgebildet.
Sehen wir uns an, wie Objekte eines Modells in der Datenbank erstellt werden.
Wir werden die Python-Shell verwenden, um neue Objekte zu erstellen. Wir müssen den Administrator verwenden, um sicherzustellen, dass wir uns im Stammverzeichnis unseres Django-Projekts befinden.
ls
Ausgang:
db.sqlite3 manage.py products trydjango
Jetzt führen wir einen weiteren Befehl aus. Wenn wir also diesen Befehl ausführen, funktionieren alle Dinge des Django-Projekts in einem Python-Interpreter.
Wir werden einen normalen Python-Interpreter sehen, wenn wir Enter drücken, aber das liegt nicht daran, dass wir den folgenden Befehl ausführen können.
python manage.py shell
Wir haben das Modell Product
aus der Datei models.py
importiert. Wir können unser Product
-Modell in der aktuellen Shell verwenden, wenn wir Enter drücken.
from products.models import Product
Wir haben einen eingebauten Django-Befehl, um alle Objekte aus dem definierten Modell abzurufen.
Product.objects.all()
Jetzt können wir sehen, dass es nur einen Artikel gibt, und das liegt daran, dass wir nur einen gespeichert haben.
<QuerySet[<Product: Product object (1)>]>
Wenn wir mehr Objekte sehen möchten, müssen wir nur mit dem folgenden Befehl weitere Objekte erstellen.
Product.objects.create()
Angenommen, unser Produkt
-Modell hat vier Felder. Diese vier Felder müssen die Methode create()
übergeben, um ein neues Objekt zu erstellen.
Lassen Sie uns ein neues Objekt erstellen, indem Sie den folgenden Befehl schreiben.
Product.objects.create(
title="New product",
description="Another one",
price=1222,
summary="The best product",
)
Nachdem wir diesen Befehl geschrieben haben, wird beim Drücken der Enter ein neues Objekt erstellt.
<Product: Product object (2)>
Wenn wir also jetzt versuchen, alle Objekte abzurufen, sehen wir ein weiteres neu erstelltes Element.
Product.objects.all()
Jetzt können wir das zweite Element der Abfrageliste sehen.
<QuerySet[<Product: Product object (1)>,<Product: Product object (2)>]>
Wenn wir zum Admin-Panel gehen, sehen wir dort neue Objekte.
Nun schauen wir uns die Methode save()
an. Angenommen, wir haben den folgenden Code und müssen alle Felder des definierten Modells speichern.
Wir müssen alle Felder in unserer Modellklasse übergeben und ein Objekt erstellen, um dies mit der Methode save()
zu speichern.
Wir haben die product_id
im obigen Code definiert, sodass wir jetzt über seine ID auf das Produkt zugreifen können. In der product_id
setzen wir den primary_key
gleich True
.
Die save()
-Methode funktioniert für zwei Bedingungen, dh wenn die angegebene product_id
bereits in der Datenbank existiert, wird das Objekt mit anderen Feldwerten aktualisiert.
Wenn die Methode save()
das Attribut primary_key
nicht auf True
in product_id
findet, oder wenn die angegebene ID nicht in der Datenbank existiert, wird sie einen Fehler erzeugen. Mit Product.objects.create()
können wir nur neue Objekte einfügen.
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn