DATABASE API
Prima di occuparci delle view vediamo come fare per interagire ulteriormente con il database, aggiungere dati, modificarli, eliminarli fare dei filtri etc. Django mette a disposizione delle API che ci consentono di interagire con il database a un livello più alto rispetto al linguaggio SQL (Structure Query Language).
INIZIAMO!
Apriamo il nostro progetto e nel terminale digitiamo il seguente comando:
python manage.py shell
Questo comando serve per aprire una shell dove digiteremo i comandi. Importiamo innanzitutto l’entità Giornalista con il seguente comando.
from news.models import Giornalista
per inserire una nuova riga nel database digitiamo il seguente comando:
g1 = Giornalista(nome=’Mario’, cognome=’Rossi’)
g1.save() //salva il record nel database
Per vedere il contenuto basta digitare il nome della variabile di istanza ad esempio g1. Per visualizzare tutti i contenuti inseriti ci basterà scrivere:
Giornalista.objects.all()
Possiamo vedere gli attributi delle singole istanze digitando ad esempio:
g1.nome
g1.cognome
Inoltre, si possono creare le istanze senza utilizzare il metodo save() con il seguente comando:
Giornalista.objects.create(nome=’Pinco’, cognome=’Pallo’)
Le chiavi primarie ci consentono di andare a reperire un determinato Giornalista come nell’esempio seguente:
Giornalista.objects.get(id=1)
Si può usare sia id che pk (primary key)
Possiamo fare dei filtri come, ad esempio, filtrare tutti i giornalisti di nome Mario.
Giornalista.objects.filter(nome=’Mario’)
Possiamo escludere delle entità con il segeunte comando:
Giornalista.objects.exclude(cognome=’Rossi’)
Possiamo fare un ciclo sui record inseriti come da figura:
UPDATE
DELETE
Per gli articoli vale lo stesso discorso, si importano tramite il comando
from news.models import Articolo
La differenza è che nell’entità articolo è stata specificata una relazione rappresentata dall’attributo giornalista. Quando inseriamo un articolo oltre a specificare un titolo e un contenuto dobbiamo specificare anche l’istanza del Giornalista che lo ha scritto. Vediamo un esempio.
LE VIEW IN DJANGO
Creiamo la view nella cartella views.py dell’applicazione news. Una volta importati dal models le entità Articolo e Giornalista siamo pronti a costruire la nostra homepage popolando le informazioni tramite le API appena viste direttamente dal database. Una volta costruita la home andiamo nel file urls.py del progetto e mappiamo la risorsa all’indirizzo localhost:8000.
Scrivi un commento