Övning – Skapa modeller
Genom att skapa en modell kan du definiera alla viktiga fält och beteendet för dina data. Nu ska vi lägga till de modeller som behövs för dog_shelters-programmet.
Skapa modeller
Det första steget i processen är att lägga till modellerna. Django innehåller en tom fil med namnet models.py som du kan använda för dina modeller.
Öppna filen dog_shelters/models.py i Visual Studio Code.
Lägg till två Python-klasser som ska innehålla modellerna genom att ange följande kod under kommentaren
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
Genom att lägga till dessa modeller har vi nu en representation för skyddsrum och hundar. Observera relationen mellan Dog
och : en Shelter
klass kan innehålla många Dog
Shelter
värden. Observera också värdet auto_now_add
för intake_date
. Fältet anges automatiskt till aktuellt datum om ett anpassat datum inte anges.
Vi använder ForeignKey
också i Dog
klassen. Den här delen berättar för Django att det finns en relation mellan Dog
och Shelter
. Genom att definiera det här förhållandet säger vi till Django att varje hund är relaterad till ett enda skydd.
Registrera modellen
Alla program måste registreras med projektet i Django. Det kan verka lite kontraintuitivt, men bara för att det finns en programmapp i ett projekt betyder det inte att det läses in automatiskt. Vi måste registrera den genom att lägga till den i INSTALLED_APPS
listan.
Leta reda på namnet på konfigurationsklassen i mappen dog_shelters . Om du vill hitta det här klassnamnet går du till filen dog_shelters/apps.py och kontrollerar att klassnamnet finns
DogSheltersConfig
i följande kod:class DogSheltersConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'dog_shelters'
Öppna settings.py i projektet.
Lägg till den fullständiga sökvägen till klassnamnet under kommentaren
#[TODO] - Add the app to the list of INSTALLED_APPS
:#[TODO] - Add the app to the list of INSTALLED_APPS 'dog_shelters.apps.DogSheltersConfig',
Listan
INSTALLED_APPS
innehåller nu följande objekt: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', ]
Om du lägger till raden i
INSTALLED_APPS
listan meddelar du Django att den här appen måste inkluderas när den kör projektet.
Sammanfattning
Nu har du skapat två modeller för ditt Django-program. Att skapa modeller är grunden för alla Django-projekt.