Esercizio - Creare modelli
Con la creazione di un modello è possibile definire tutti i campi essenziali e il comportamento dei dati. È ora possibile aggiungere i modelli necessari per l'applicazione dog_shelters.
Creare modelli
Il primo passaggio della procedura consiste nell'aggiungere i modelli. Django fornisce un file vuoto denominato models.py che è possibile usare per i modelli.
Aprire il file dog_shelters/models.py in Visual Studio Code.
Aggiungere due classi Python per includere i modelli immettendo il codice seguente sotto il commento
Create your models here
:# Create your models here class Shelter(models.Model): name = models.CharField(max_length=200) location = models.CharField(max_length=200) def __str__(self): return self.name class Dog(models.Model): shelter = models.ForeignKey(Shelter, on_delete=models.PROTECT) name = models.CharField(max_length=200) description = models.TextField() intake_date = models.DateTimeField(auto_now_add=True) def __str__(self): return self.name
Con l'aggiunta di questi modelli è ora presenta una rappresentazione per i canili e i cani. Si noti la relazione tra Dog
e Shelter
: una classe Shelter
può includere molti valori di Dog
. Si noti anche il valore auto_now_add
per intake_date
, che imposta automaticamente il campo sulla data corrente se non è specificata una data personalizzata.
Nella classe Dog
viene usato anche ForeignKey
. Questa parte indica a Django che esiste una relazione tra Dog
e Shelter
. La definizione di questa relazione fornisce a Django l'indicazione che ogni cane è correlato a un unico canile.
Registrare il modello
Tutte le applicazioni devono essere registrate con il progetto in Django. Può sembrare un po' contraddittorio, ma la sola presenza di una cartella dell'applicazione all'interno di un progetto non implica che l'applicazione venga automaticamente caricata. È necessario registrarla aggiungendola all'elenco INSTALLED_APPS
.
Trovare il nome della classe di configurazione all'interno della cartella dog_shelters. Per trovare il nome della classe, selezionare il file dog_shelters/apps.py e verificare che il nome della classe sia
DogSheltersConfig
nel codice seguente:class DogSheltersConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'dog_shelters'
Aprire settings.py in project.
Aggiungere il percorso completo al nome della classe sotto il commento
#[TODO] - Add the app to the list of INSTALLED_APPS
:#[TODO] - Add the app to the list of INSTALLED_APPS 'dog_shelters.apps.DogSheltersConfig',
L'elenco
INSTALLED_APPS
contiene ora le voci seguenti:INSTALLED_APPS = [ #[TODO] - Add the app to the list of INSTALLED_APPS 'dog_shelters.apps.DogSheltersConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ]
L'aggiunta della riga all'elenco
INSTALLED_APPS
indica a Django che questa app deve essere inclusa quando viene eseguito il progetto.
Riepilogo
A questo punto sono stati creati due modelli per l'applicazione Django. La creazione di modelli costituisce la base per tutti i progetti di Django.