Menu
CoddyTech

Creare righe

Fa parte della sezione Modelli e pannello di amministrazione del percorso Django di Coddy. Lezione 7 di 23.

Alla tua libreria servono nuovi libri e non scriverai mai SQL, il linguaggio parlato dai database. Ogni modello ha Book.objects, il suo manager: i suoi metodi leggono e scrivono nella tabella. L’ORM di Django (mappatore oggetto-relazionale) trasforma queste chiamate in SQL. In questo capitolo scriverai codice ORM in explore.py. Esegui aggiunge nove libri, poi esegue il file come farebbe python manage.py shell < explore.py, e ciò che stampa viene mostrato nella Console.

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

create() crea una riga e la salva in un solo passaggio; un campo che ometti assume il suo valore predefinito. Lo stesso in due passaggi, con una modifica nel mezzo:

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

Finché non viene eseguito save(), l’oggetto esiste solo in Python e il suo id è None.

challenge icon

Sfida

Facile

In explore.py, sopra print, aggiungi due libri.

  • Con create(): Project Hail Mary di Andy Weir, anno 2021, prezzo 12.99, fantascienza. Memorizza il valore del genere, scifi, non la sua etichetta; prendilo dalla tua classe Genre.
  • Creando un Book e chiamando save(): Klara and the Sun di Kazuo Ishiguro, anno 2021, prezzo 11.50.

Premi «Esegui»: la Console mostra 11 books on the shelf.

Provalo tu

from books.models import Book

# Aggiungi qui i due libri.


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

Tutte le lezioni di Modelli e pannello di amministrazione

Esercitati da solo: Playground Django