Menu
CoddyTech

Datensätze erstellen

Teil des Abschnitts Modelle und Admin-Bereich der Django-Journey von Coddy. Lektion 7 von 23.

Dein Bücherregal braucht neue Bücher, und du wirst niemals SQL schreiben, die Sprache, die Datenbanken sprechen. Jedes Modell hat Book.objects, seinen Manager: Seine Methoden lesen und schreiben die Tabelle. Djangos ORM (objektrelationaler Mapper) wandelt diese Aufrufe in SQL um. In diesem Kapitel schreibst du ORM-Code in explore.py. „Spielen“ fügt neun Bücher hinzu und führt dann die Datei so aus, wie es python manage.py shell < explore.py tun würde; was dabei ausgegeben wird, erscheint in der Konsole.

Book.objects.create(title="Beloved", author="Toni Morrison", year=1987, price="13.00")

create() erstellt einen Datensatz und speichert ihn in einem Schritt; ein Feld, das du weglässt, erhält seinen Standardwert. Dasselbe in zwei Schritten, mit einer Änderung dazwischen:

silmarillion = Book(title="The Silmarillion", author="J.R.R. Tolkien", year=1977, price="10.50")
silmarillion.is_read = True
silmarillion.save()

Bis save() ausgeführt wird, lebt das Objekt nur in Python und seine id ist None.

challenge icon

Aufgabe

Einfach

Füge in explore.py oberhalb von print zwei Bücher hinzu.

  • Mit create(): Project Hail Mary von Andy Weir, Erscheinungsjahr 2021, Preis 12.99, Science-Fiction. Speichere den Wert des Genres, scifi, nicht dessen Bezeichnung; verwende dafür deine Klasse Genre.
  • Erstelle ein Book-Objekt und rufe save() auf: Klara and the Sun von Kazuo Ishiguro, Erscheinungsjahr 2021, Preis 11.50.

Drücke auf „Spielen“: In der Konsole steht 11 books on the shelf.

Probier es selbst

from books.models import Book

# Füge die beiden Bücher hier hinzu.


print(Book.objects.count(), "books on the shelf")

Alle Lektionen in Modelle und Admin-Bereich

Übe selbstständig: Django-Playground