Übung: Erstellen von Modellen

Abgeschlossen

Wenn Sie ein Modell erstellen, können Sie alle wichtigen Felder und das Verhalten der Daten definieren. Fügen wir die erforderlichen Modelle für die Anwendung dog_shelters hinzu.

Erstellen von Modellen

Der erste Schritt im Prozess besteht darin, die Modelle hinzuzufügen. Django stellt eine leere Datei mit dem Namen models.py bereit, die Sie für Ihre Modelle verwenden können.

  1. Öffnen Sie die Datei dog_shelters/models.py in Visual Studio Code.

  2. Fügen Sie zwei Python-Klassen hinzu, die die Modelle enthalten sollen, indem Sie den folgenden Code unter dem Kommentar Create your models here eingeben:

    # 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
    

Durch das Hinzufügen dieser Modelle haben wir nun eine Darstellung für Tierheime und Hunde. Beachten Sie die Beziehung zwischen Dog und Shelter: eine Shelter-Klasse kann viele Dog-Werte enthalten. Beachten Sie auch den auto_now_add-Wert für intake_date. Er legt das Feld automatisch auf das aktuelle Datum fest, wenn kein benutzerdefiniertes Datum angegeben wird.

Wir verwenden auch ForeignKey in der Dog-Klasse. Dieser informiert Django, dass eine Beziehung zwischen Dog und Shelter besteht. Indem wir diese Beziehung definieren, informieren wir Django, dass jeder Hund mit einem einzelnen Tierheim in Beziehung steht.

Registrieren des Modells

Alle Anwendungen müssen bei dem Projekt in Django registriert werden. Es mag ein wenig kontraintuitiv erscheinen, aber nur weil ein Anwendungsordner innerhalb eines Projekts vorhanden ist, bedeutet das nicht, dass er automatisch geladen wird. Wir müssen ihn registrieren, indem wir ihn der INSTALLED_APPS-Liste hinzufügen.

  1. Suchen Sie den Namen der Konfigurationsklasse im Ordner dog_shelters. Um diesen Klassennamen zu finden, wechseln Sie zur Datei dog_shelters/apps.py, und überprüfen Sie, ob der Klassenname DogSheltersConfig im folgenden Code lautet:

    class DogSheltersConfig(AppConfig):
        default_auto_field = 'django.db.models.BigAutoField'
        name = 'dog_shelters'
    
  2. Öffnen Sie settings.py im Projekt.

  3. Fügen Sie dem Klassennamen den vollständigen Pfad unter dem Kommentar #[TODO] - Add the app to the list of INSTALLED_APPS hinzu:

        #[TODO] - Add the app to the list of INSTALLED_APPS
        'dog_shelters.apps.DogSheltersConfig',
    

    Die INSTALLED_APPS-Liste enthält nun die folgenden Elemente:

    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',
    ]
    

    Das Hinzufügen der Zeile zur INSTALLED_APPS-Liste teilt Django mit, dass diese App beim Ausführen des Projekts eingebunden werden muss.

Zusammenfassung

Sie haben nun zwei Modelle für Ihre Django-Anwendung erstellt. Das Erstellen von Modellen ist die Grundlage für alle Django-Projekte.