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.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren:

centron Managed Cloud Hosting in Deutschland

Wie man String und Int in Python verknüpft

Python
Wie man String und Int in Python verknüpft Content1 Einleitung2 Beispiel3 Voraussetzungen für String und Int in Python4 Verwendung der str()-Funktion für String und Int in Python5 Verwendung des %-Interpolationsoperators…