Gyakorlat – Modellek létrehozása

Befejeződött

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.

  1. Nyissa meg a dog_shelters/models.py fájlt a Visual Studio Code-ban.

  2. Adjon hozzá két Python-osztályt a modellekhez a következő kód megadásával a megjegyzés Create your models herealatt:

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

  1. 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'
    
  2. Nyissa meg a settings.py a projektben.

  3. Adja hozzá a teljes elérési utat az osztálynévhez a megjegyzés #[TODO] - Add the app to the list of INSTALLED_APPSalatt:

        #[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.