Django-Modelle erstellen: Ein Leitfaden

Einleitung

Im vorherigen Tutorial „Wie Sie eine Django-App erstellen und mit einer Datenbank verbinden“ haben wir erklärt, wie man eine MySQL-Datenbank erstellt, eine Django-Anwendung startet und sie mit einer MySQL-Datenbank verbindet.

In diesem Tutorial erstellen wir die Django-Modelle, die die Felder und das Verhalten der Daten der Blog-Anwendung definieren, die wir speichern möchten. Diese Modelle bilden die Daten Ihrer Django-Anwendung auf die Datenbank ab. Django verwendet sie, um über die objektrelationale Zuordnungs-API (ORM) Datenbanktabellen zu generieren, die als „Modelle“ bezeichnet werden.

Voraussetzungen für Django-Modelle erstellen

Dieses Tutorial ist Teil der Django-Entwicklungsserie und eine Fortsetzung dieser Serie. Folgende Voraussetzungen sollten gegeben sein:

  • Sie haben Django in Version 4 oder höher installiert.
  • Sie haben Ihre Django-App mit einer Datenbank verbunden.
  • Sie arbeiten mit einem Unix-basierten Betriebssystem, vorzugsweise einem Ubuntu 22.04 Cloud-Server.

Schritt 1 — Django-Modelle erstellen

Um der modularen Philosophie von Django gerecht zu werden, erstellen wir eine Django-App innerhalb unseres Projekts, die alle notwendigen Dateien für die Erstellung der Blog-Website enthält.

cd ~/my_blog_app
. env/bin/activate
cd blog
python manage.py startapp blogsite

Schritt 2 — Das Posts-Modell hinzufügen

Öffnen und bearbeiten Sie die Datei models.py, um den Code für die Erstellung eines Post-Modells hinzuzufügen:

from django.db import models
from django.template.defaultfilters import slugify
from django.contrib.auth.models import User
from django.urls import reverse

class Post(models.Model):
    title = models.CharField(max_length=255)
    slug = models.SlugField(unique=True, max_length=255)
    content = models.TextField()
    created_on = models.DateTimeField(auto_now_add=True)
    author = models.TextField()

    def get_absolute_url(self):
        return reverse('blog_post_detail', args=[self.slug])
    
    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.title)
        super(Post, self).save(*args, **kwargs)

    class Meta:
        ordering = ['created_on']

        def __unicode__(self):
            return self.title

Schritt 3 — Einstellungen aktualisieren

Fügen Sie die App blogsite zur INSTALLED_APPS-Sektion in der Datei settings.py hinzu:

INSTALLED_APPS = [
    'blogsite',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Schritt 4 — Migrationen erstellen

Erstellen Sie Migrationsdateien für die Modelle:

python manage.py makemigrations

Wenden Sie die Migrationen auf die Datenbank an:

Schritt 5 — Datenbankschema überprüfen

Melden Sie sich bei MySQL an und überprüfen Sie, ob die Tabellen erfolgreich erstellt ist:

SHOW TABLES;
DESCRIBE blogsite_comment;
DESCRIBE blogsite_post;

Fazit zu Django-Modelle erstellen

In diesem Tutorial haben wir erfolgreich Modelle für grundlegende Funktionen in einer Blog-Webanwendung hinzugefügt. Sie haben gelernt, wie man Django-Modelle effizient erstellt und anpasst. Zudem haben Sie den Prozess von Migrationen detailliert verstanden. Diese Migrationen ermöglichen es, Datenbanktabellen aus Ihren Modellen zu generieren. Wir haben die Verbindung zwischen Django-Modellen und MySQL-Datenbanken ausführlich behandelt. Nutzen Sie dieses Wissen, um komplexere Anwendungen zu entwickeln.

Quelle: digitalocean.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren: