Esercizio - Creare modelli

Completato

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.

  1. Aprire il file dog_shelters/models.py in Visual Studio Code.

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

  1. 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'
    
  2. Aprire settings.py in project.

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