Heim > Artikel > Backend-Entwicklung > ORM-Framework in Python Django ORM-Praxis
Mit der Entwicklung des Internets ist die Entwicklung von Software immer beliebter geworden. Um die Entwicklungseffizienz und das Codemanagement zu verbessern, stellen viele Sprachen ORM-Frameworks bereit, und Python bildet da keine Ausnahme. Django ist ein Python-Webframework, das ein leistungsstarkes ORM-Framework bereitstellt – Django ORM. In diesem Artikel wird erläutert, wie Sie Django ORM zum Verwalten von Datenbanken verwenden.
Bevor Sie Django ORM verwenden, müssen Sie Django installieren. Es kann mit pip installiert werden. Der Befehl lautet wie folgt:
pip install django
Nach der Installation von Django können Sie damit ein neues Projekt erstellen. Der Befehl lautet wie folgt:
django-admin startproject project_name
Dadurch wird ein erstellt Django-Projekt mit dem Namen Projektname.
In Django ORM kann das Datenbankmodell als Python-Klasse definiert werden. Erstellen Sie im App-Verzeichnis des Projekts eine Datei mit dem Namen models.py und definieren Sie das Modell darin. Das Erstellen eines Modells namens „Book“ mit den Attributen „Titel“, „Autor“, „Veröffentlichungsdatum“ und „Preis“ kann beispielsweise wie folgt definiert werden:
from django.db import models class Book(models.Model): title = models.CharField(max_length=100) author = models.CharField(max_length=200) pub_date = models.DateField() price = models.DecimalField(max_digits=5, decimal_places=2)
Hier erbt Book die Model-Klasse in Django ORM und definiert vier Attribute. CharField repräsentiert den Zeichentyp, DateField repräsentiert den Datumstyp und DecimalField repräsentiert den Dezimaltyp. Beim Definieren jeder Eigenschaft können Sie Parameter verwenden, um deren Typ, Länge, Genauigkeit usw. zu steuern.
Zusätzlich können für Modelle Methoden und Klassenmethoden definiert werden. Um beispielsweise eine Klassenmethode namens get_books im Buchmodell zu definieren, um alle Bücher aus der Datenbank abzurufen, können Sie Folgendes tun:
class Book(models.Model): # 类属性 title = models.CharField(max_length=100) author = models.CharField(max_length=200) pub_date = models.DateField() price = models.DecimalField(max_digits=5, decimal_places=2) # 类方法 @classmethod def get_books(cls): return cls.objects.all()
Hier verwenden Sie den Modifikator classmethod, um die Methode get_books zu ändern und sie als Klassenmethode zu definieren. Diese Methode verwendet das Objektattribut in Django ORM, um alle Book-Objekte abzurufen.
Nachdem Sie das Modell definiert haben, müssen Sie Tabellen in der Datenbank erstellen. Dieser Vorgang kann mithilfe der von Django ORM bereitgestellten Befehle makemigrations und migrate durchgeführt werden. Mit dem Befehl makemigrations wird eine Migrationsdatei generiert, die Änderungen am Modell enthält. Mit dem Befehl „migrate“ wird die Migrationsdatei ausgeführt und die Änderungen auf die Datenbank angewendet. Der Befehl lautet wie folgt:
python manage.py makemigrations python manage.py migrate
Nachdem Sie das Datenbankmodell definiert und die Datenbankmigration abgeschlossen haben, können Sie Django ORM verwenden, um die Datenbank zu verwalten. In „views.py“ können Sie beispielsweise den folgenden Code schreiben:
from django.shortcuts import render from .models import Book def book_list(request): books = Book.get_books() return render(request, 'book_list.html', {'books': books})
Hier importieren Sie das Buchmodell aus models.py und verwenden Sie die Methode get_books, um alle Bücher abzurufen. Anschließend werden sie als Parameter an die Renderfunktion übergeben, die die Vorlagendatei book_list.html zum Rendern der Seite verwendet.
In book_list.html können Sie den folgenden Code verwenden, um die Buchliste anzuzeigen:
{% for book in books %} <div class="book"> <h2>{{ book.title }}</h2> <p>{{ book.author }} - {{ book.pub_date|date:"Y年m月d日" }}</p> <p>价格:{{ book.price }}</p> </div> {% endfor %}
Verwenden Sie hier eine for-Schleife, um alle Bücher zu durchlaufen und ihre Attribute auszugeben. Es ist zu beachten, dass bei der Ausgabe des pub_date-Attributs ein Datumsfilter verwendet wird, um das Datum in der Form Jahr, Monat und Tag zu formatieren.
Django ORM ist ein leistungsstarkes ORM-Framework, das Entwicklern bei der einfachen Verwaltung von Datenbanken helfen kann. In diesem Artikel wird der Prozess der Verwendung von Django ORM zum Erstellen von Modellen, zum Ausführen von Datenbankmigrationen und zum Verwalten von Datenbanken vorgestellt. Ich hoffe, dass dieser Artikel Anfängern helfen kann, die Anwendung von Django ORM besser zu verstehen.
Das obige ist der detaillierte Inhalt vonORM-Framework in Python Django ORM-Praxis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!