ORM-Framework Tortoise ORM in Python in der Praxis
Tortoise ORM ist ein asynchrones ORM-Framework, das auf der Python-Sprache basiert und zur Verwaltung relationaler Datenbanken in asynchronen Python-Anwendungen verwendet werden kann.
In diesem Artikel erfahren Sie, wie Sie mit dem Tortoise ORM-Framework Daten erstellen, lesen, aktualisieren und löschen. Außerdem erfahren Sie, wie Sie einfache und komplexe Abfragen aus einer relationalen Datenbank durchführen.
Vorbereitung
Bevor Sie mit diesem Tutorial beginnen, müssen Sie Python installieren (Python3.6+ wird empfohlen) und das Tortoise ORM-Framework installieren.
Sie können das Tortoise ORM-Framework über pip mit dem folgenden Befehl installieren:
pip install tortoise-orm
Als nächstes richten wir die Datenbank und die Modellstruktur ein.
Erstellen Sie eine Datenbankverbindung
Um Tortoise ORM zum Ausführen von Datenbankoperationen zu verwenden, muss zunächst eine Verbindung zur Datenbank hergestellt werden. In diesem Tutorial verwenden wir eine SQLite-Datenbank.
Tortoise ORM verwendet Umgebungsvariablen oder .config-Dateien, um Datenbankverbindungsinformationen zu verwalten. Erstellen Sie eine Datei mit dem Namen .env
und die folgende Konfiguration, um eine Datenbankverbindung herzustellen. .env
的文件和以下配置,可以实现数据库连接。
DATABASE_URL=sqlite://db.sqlite3
其中db.sqlite3
是你所要创建的新数据库的文件名。
同时,我们还需要在代码中使用函数来初始化Tortoise ORM:
import os from dotenv import load_dotenv from tortoise import Tortoise # 加载环境变量 load_dotenv() async def init_db(): await Tortoise.init(config={ 'connections': { 'default': os.getenv('DATABASE_URL') }, 'apps': { 'models': { 'models': ['app.models',], 'default_connection': 'default' } } }) await Tortoise.generate_schemas()
在上面的代码中我们使用环境变量获取数据库连接信息,并传递给Tortoise ORM进行初始化。接着调用Tortoise.generate_schemas()
方法来为所定义的模型生成对应的数据表。
在完成上述操作后,我们就可以开始创建模型。
创建模型
在本教程中,我们将创建一个简单的博客模型,该模型包含标题、内容、创建时间、更新时间和作者。
from tortoise import fields from tortoise.models import Model class Blog(Model): id = fields.IntField(pk=True) title = fields.CharField(max_length=100) content = fields.TextField() created_at = fields.DatetimeField(auto_now_add=True) updated_at = fields.DatetimeField(auto_now=True) author = fields.CharField(max_length=100)
在上面的代码的Blog模型中,我们使用Model
基类并创建了一些字段id
、title
、content
、created_at
、updated_at
和author
。pk=True
指明了id
字段是主键。auto_now_add=True
和auto_now=True
分别指明了created_at
和updated_at
字段应该在创建和更新时自动更新。
现在,我们已经成功定义了一个模型,接下来学习如何使用Tortoise ORM进行CRUD操作。
读取和创建数据
使用Tortoise ORM读取和创建数据非常简单,以下是一些示例代码:
from app.models import Blog # 创建一个新博客 blog = await Blog.create(title='Tortoise ORM', content='使用Tortoise ORM操作数据库非常方便', author='Alice') # 读取所有博客 blogs = await Blog.all() for blog in blogs: print(blog.title) # 根据标题读取指定博客 blog = await Blog.get(title='Tortoise ORM') print(blog.content)
在上面的代码中,我们使用了Blog.create()
方法创建了一个新博客,使用Blog.all()
方法读取了所有博客,并使用Blog.get()
方法根据标题读取了指定的博客。
更新和删除数据
Tortoise ORM也提供了更新和删除数据的方法。以下是一些示例代码:
# 更新博客的内容 blog.content = 'Tortoise ORM提供了丰富的API来管理数据库' await blog.save() # 删除指定的博客 await Blog.filter(title='Tortoise ORM').delete()
在上面的代码中,我们使用save()
方法更新了博客的内容,并使用filter()
和delete()
方法根据标题删除了指定的博客。
执行复杂查询
除了基本的CRUD操作,Tortoise ORM还允许执行复杂的查询。以下是一些示例:
# 使用where子句查询特定日期创建的博客 blogs = await Blog.filter(created_at__date='2021-07-12').all() # 使用order_by子句将博客按更新日期升序排列 blogs = await Blog.all().order_by('updated_at') # 连接多个过滤器查询具有特定条件的博客 blogs = await Blog.all().filter(title__contains='ORM', author__icontains='Alice')
在上面的代码中,我们使用了filter()
、all()
和order_by()
方法结合一些查询参数,例如。created_at__date
、title__contains
和author__icontains
rrreee
db.sqlite3
der Dateiname der neuen Datenbank ist, die Sie erstellen möchten. Gleichzeitig müssen wir auch eine Funktion im Code verwenden, um Tortoise ORM zu initialisieren: rrreee
Im obigen Code verwenden wir Umgebungsvariablen, um die Datenbankverbindungsinformationen abzurufen und sie zur Initialisierung an Tortoise ORM zu übergeben. Rufen Sie dann die MethodeTortoise.generate_schemas()
auf, um die entsprechende Datentabelle für das definierte Modell zu generieren. 🎜🎜Nach Abschluss der oben genannten Vorgänge können wir mit der Erstellung des Modells beginnen. 🎜🎜Erstellen Sie ein Modell🎜🎜In diesem Tutorial erstellen wir ein einfaches Blog-Modell, das Titel, Inhalt, Erstellungszeit, Aktualisierungszeit und Autor enthält. 🎜rrreee🎜Im Blog-Modell des obigen Codes verwenden wir die Basisklasse Model
und erstellen einige Felder id
, title
, Inhalt
, erstellt_at
, aktualisiert_at
und Autor
. pk=True
gibt an, dass das Feld id
der Primärschlüssel ist. auto_now_add=True
und auto_now=True
geben an, dass die Felder created_at
und updated_at
automatisch aktualisiert werden sollen, wenn sie erstellt und aktualisiert werden jeweils. . 🎜🎜Nachdem wir nun erfolgreich ein Modell definiert haben, lernen wir, wie man Tortoise ORM für CRUD-Operationen verwendet. 🎜🎜Daten lesen und erstellen🎜🎜Das Lesen und Erstellen von Daten mit Tortoise ORM ist sehr einfach. Hier ist ein Beispielcode: 🎜rrreee🎜Im obigen Code haben wir Blog.create()
verwendet. Die Methode erstellt ein neues Blog, verwendet die Methode Blog.all()
, um alle Blogs zu lesen, und verwendet die Methode Blog.get()
, um das angegebene Blog basierend auf dem Titel zu lesen. . 🎜🎜Daten aktualisieren und löschen🎜🎜Tortoise ORM bietet auch Methoden zum Aktualisieren und Löschen von Daten. Hier ist ein Beispielcode: 🎜rrreee🎜 Im obigen Code haben wir den Inhalt des Blogs mit der Methode save()
aktualisiert und filter()
und Die Methode delete()
löscht das angegebene Blog basierend auf dem Titel. 🎜🎜Komplexe Abfragen ausführen🎜🎜Zusätzlich zu den grundlegenden CRUD-Operationen ermöglicht Tortoise ORM auch die Ausführung komplexer Abfragen. Hier sind einige Beispiele: 🎜rrreee🎜Im obigen Code haben wir die Methoden filter()
, all()
und order_by()
verwendet Kombiniert mit einigen Abfrageparametern, z. created_at__date
, title__contains
und author__icontains
usw., um komplexe Abfragen durchzuführen. 🎜🎜Fazit🎜🎜In diesem Tutorial haben wir gelernt, wie man das Tortoise ORM-Framework verwendet, um CRUD-Operationen zu implementieren, die Datenbank zu initialisieren und Modelle zu erstellen sowie komplexe Datenbankabfragen durchzuführen. Wie wir sehen, macht Tortoise ORM die Verwaltung von Datenbanken in asynchronen Python-Anwendungen sehr einfach und intuitiv. 🎜Das obige ist der detaillierte Inhalt vonORM-Framework Tortoise ORM in Python in der Praxis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



MySQL hat eine kostenlose Community -Version und eine kostenpflichtige Enterprise -Version. Die Community -Version kann kostenlos verwendet und geändert werden, die Unterstützung ist jedoch begrenzt und für Anwendungen mit geringen Stabilitätsanforderungen und starken technischen Funktionen geeignet. Die Enterprise Edition bietet umfassende kommerzielle Unterstützung für Anwendungen, die eine stabile, zuverlässige Hochleistungsdatenbank erfordern und bereit sind, Unterstützung zu bezahlen. Zu den Faktoren, die bei der Auswahl einer Version berücksichtigt werden, gehören Kritikalität, Budgetierung und technische Fähigkeiten von Anwendungen. Es gibt keine perfekte Option, nur die am besten geeignete Option, und Sie müssen die spezifische Situation sorgfältig auswählen.

Der Artikel führt den Betrieb der MySQL -Datenbank vor. Zunächst müssen Sie einen MySQL -Client wie MySQLworkBench oder Befehlszeilen -Client installieren. 1. Verwenden Sie den Befehl mySQL-uroot-P, um eine Verbindung zum Server herzustellen und sich mit dem Stammkonto-Passwort anzumelden. 2. Verwenden Sie die Erstellung von Createdatabase, um eine Datenbank zu erstellen, und verwenden Sie eine Datenbank aus. 3.. Verwenden Sie CreateTable, um eine Tabelle zu erstellen, Felder und Datentypen zu definieren. 4. Verwenden Sie InsertInto, um Daten einzulegen, Daten abzufragen, Daten nach Aktualisierung zu aktualisieren und Daten nach Löschen zu löschen. Nur indem Sie diese Schritte beherrschen, lernen, mit gemeinsamen Problemen umzugehen und die Datenbankleistung zu optimieren, können Sie MySQL effizient verwenden.

MySQL kann ohne Netzwerkverbindungen für die grundlegende Datenspeicherung und -verwaltung ausgeführt werden. Für die Interaktion mit anderen Systemen, Remotezugriff oder Verwendung erweiterte Funktionen wie Replikation und Clustering ist jedoch eine Netzwerkverbindung erforderlich. Darüber hinaus sind Sicherheitsmaßnahmen (wie Firewalls), Leistungsoptimierung (Wählen Sie die richtige Netzwerkverbindung) und die Datensicherung für die Verbindung zum Internet von entscheidender Bedeutung.

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

Hadidb: Eine leichte, hochrangige skalierbare Python-Datenbank Hadidb (HadIDB) ist eine leichte Datenbank in Python mit einem hohen Maß an Skalierbarkeit. Installieren Sie HadIDB mithilfe der PIP -Installation: PipinstallHadIDB -Benutzerverwaltung erstellen Benutzer: createUser (), um einen neuen Benutzer zu erstellen. Die Authentication () -Methode authentifiziert die Identität des Benutzers. fromHadidb.operationImportUseruser_obj = user ("admin", "admin") user_obj.

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

MySQL Workbench kann eine Verbindung zu MariADB herstellen, vorausgesetzt, die Konfiguration ist korrekt. Wählen Sie zuerst "Mariadb" als Anschlusstyp. Stellen Sie in der Verbindungskonfiguration Host, Port, Benutzer, Kennwort und Datenbank korrekt ein. Überprüfen Sie beim Testen der Verbindung, ob der Mariadb -Dienst gestartet wird, ob der Benutzername und das Passwort korrekt sind, ob die Portnummer korrekt ist, ob die Firewall Verbindungen zulässt und ob die Datenbank vorhanden ist. Verwenden Sie in fortschrittlicher Verwendung die Verbindungspooling -Technologie, um die Leistung zu optimieren. Zu den häufigen Fehlern gehören unzureichende Berechtigungen, Probleme mit Netzwerkverbindung usw. Bei Debugging -Fehlern, sorgfältige Analyse von Fehlerinformationen und verwenden Sie Debugging -Tools. Optimierung der Netzwerkkonfiguration kann die Leistung verbessern

Für Produktionsumgebungen ist in der Regel ein Server erforderlich, um MySQL auszuführen, aus Gründen, einschließlich Leistung, Zuverlässigkeit, Sicherheit und Skalierbarkeit. Server haben normalerweise leistungsstärkere Hardware, redundante Konfigurationen und strengere Sicherheitsmaßnahmen. Bei kleinen Anwendungen mit niedriger Last kann MySQL auf lokalen Maschinen ausgeführt werden, aber Ressourcenverbrauch, Sicherheitsrisiken und Wartungskosten müssen sorgfältig berücksichtigt werden. Für eine größere Zuverlässigkeit und Sicherheit sollte MySQL auf Cloud oder anderen Servern bereitgestellt werden. Die Auswahl der entsprechenden Serverkonfiguration erfordert eine Bewertung basierend auf Anwendungslast und Datenvolumen.
