Gyakorlat – Modellek létrehozása
Egy modell létrehozásával meghatározhatja az alapvető mezőket és az adatok viselkedését. Vegyük fel a dog_shelters alkalmazáshoz szükséges modelleket.
Modellek létrehozása
A folyamat első lépése a modellek hozzáadása. A Django egy models.py nevű üres fájlt biztosít, amelyet a modellekhez használhat.
Nyissa meg a dog_shelters/models.py fájlt a Visual Studio Code-ban.
Adjon hozzá két Python-osztályt a modellekhez a következő kód megadásával a megjegyzés
Create your models here
alatt:# 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
Ezeknek a modelleknek a hozzáadásával mostantól a menedékhelyek és a kutyák is képviseltetik magunkat. Figyelje meg, hogy az és Shelter
: Shelter
osztály közötti Dog
kapcsolat számos Dog
értéket tartalmazhat. Jegyezze fel a auto_now_add
következő intake_date
értékét is: . Automatikusan beállítja a mezőt az aktuális dátumra, ha nincs megadva egyéni dátum.
Az osztályban is használjukForeignKey
.Dog
Ez a rész azt mondja Django van egy kapcsolat között Dog
és Shelter
. A kapcsolat meghatározásával azt mondjuk Django-nak, hogy minden kutya egyetlen menedékhöz kapcsolódik.
Regisztrálja a modellt
Minden alkalmazást regisztrálni kell a djangoi projektben. Ez kissé ellentétesnek tűnhet, de csak azért, mert egy alkalmazásmappa létezik egy projektben, még nem jelenti azt, hogy automatikusan betöltődik. Regisztrálnunk kell, ha hozzáadjuk a INSTALLED_APPS
listához.
Keresse meg a konfigurációs osztály nevét a dog_shelters mappában. Az osztálynév megkereséséhez nyissa meg a dog_shelters/apps.py fájlt, és ellenőrizze, hogy az osztály neve
DogSheltersConfig
szerepel-e a következő kódban:class DogSheltersConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'dog_shelters'
Nyissa meg a settings.py a projektben.
Adja hozzá a teljes elérési utat az osztálynévhez a megjegyzés
#[TODO] - Add the app to the list of INSTALLED_APPS
alatt:#[TODO] - Add the app to the list of INSTALLED_APPS 'dog_shelters.apps.DogSheltersConfig',
A
INSTALLED_APPS
lista most a következő elemeket tartalmazza: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', ]
Ha hozzáadja a sort a
INSTALLED_APPS
listához, a Django tájékoztatja arról, hogy az alkalmazásnak szerepelnie kell a projekt futtatásakor.
Összesítés
Most létrehozott két modellt a Django-alkalmazáshoz. A modellek létrehozása minden Django-projekt alapja.