DATABASE API

Django

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).

Database API
Database API
Database API

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

shell 1

per inserire una nuova riga nel database digitiamo il seguente comando:

g1 = Giornalista(nome=’Mario’, cognome=’Rossi’)

g1.save()  //salva il record nel database

shell 2

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()

shell 3

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’)

shell 4

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)

shell 5

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:

shell 6

UPDATE

shell 7

DELETE

shell 8

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.

shell 9

LE VIEW IN DJANGO

Views
Views

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.

Code Views.py
urls.py

LINK AI POST PRECEDENTI

PREVIOUS POST LINKS

LINK AL CODICE SU GITHUB

GITHUB