Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Creare il database

Dal diagramma E/R alla scrittura dei Model per l'applicazione
Dal diagramma E/R alla scrittura dei Model per l'applicazione
Link copiato negli appunti

Una volta creata la nostra applicazione creiamo il modello del database che vogliamo utilizzare per memorizzare i contatti.

Il nostro database rubrica avrà uno schema ER molto semplice, come quello in figura:

Figura 7. Diagramma E/R
Diagramma E/R

Le relative tabelle avranno gli attributi:

Tabella Attributi
Contatto nome
cognome
occupazione
Telefono numero
Tipologia descrizione

Definiamo le tabelle del nostro database in rubrica/models.py:

class Tipologia(models.Model):    
    descrizione = models.CharField(max_length=255)

class Contatto(models.Model):
    nome = models.CharField(max_length=255)
    cognome = models.CharField(max_length=255)
    occupazione = models.CharField(max_length=255)

class Telefono(models.Model):
    tipologia = models.ForeignKey(Tipologia)
    contatto = models.ForeignKey(Contatto)
    numero = models.CharField(max_length=20)

Attiviamo ora l'applicazione rubrica aggiungendo primoprogetto.rubrica nella variabile INSTALLED_APPS in primoprogetto/settings.py.

Per applicare il modello appena definito, cioé costruire la struttura del database, eseguiamo il comando

manage.py syncdb

Ora popoliamo la tabella rubrica_tipologia, apriamo una shell Django mediante il comando

manage.py shell

ed aggiungiamo degli oggetti Tipologia utilizzando le API Django:

from primoprogetto.rubrica.models import Tipologia	
casa = Tipologia(descrizione='Casa')	
cellulare = Tipologia(descrizione='Cellulare')	
ufficio = Tipologia(descrizione='Ufficio')	
casa.save()	
cellulare.save()	
ufficio.save()

alternativamente possiamo utilizzare un client MySQL ed eseguire i seguenti comandi:

mysql> use rubrica;	
mysql> insert into rubrica_tipologia(descrizione) values('Casa'),('Cellulare'),('Ufficio');

In ogni caso possiamo verificare l'inserimento:

mysql> select * from rubrica_tipologia;
+----+-------------+
| id | descrizione |
+----+-------------+
|  1 | Casa        |
|  2 | Cellulare   |
|  3 | Ufficio     |
+----+-------------+

Ti consigliamo anche