Heim Backend-Entwicklung Python-Tutorial So verwenden Sie die ORM-Bibliothek zur Datenbearbeitung in FastAPI

So verwenden Sie die ORM-Bibliothek zur Datenbearbeitung in FastAPI

Jul 30, 2023 pm 05:00 PM
fastapi orm 数据操作

So verwenden Sie die ORM-Bibliothek für Datenoperationen in FastAPI

Einführung:
FastAPI ist ein modernes Web-Framework, das auf Python basiert. Sein Design ist von Starlette und Pydantic inspiriert. Es ist ein leistungsstarkes Framework, das sich besonders für die schnelle Erstellung eignet. Skalierbarer und leistungsstarker RESTful-API-Dienst. In FastAPI können wir mithilfe der ORM-Bibliothek (Object Relational Mapping) Datenbankoperationen bequemer durchführen. In diesem Artikel erfahren Sie, wie Sie die ORM-Bibliothek zur Datenbearbeitung in FastAPI verwenden, und stellen einige Codebeispiele bereit.

1. Einführung in die ORM-Bibliothek
ORM (Object Relational Mapping) ist eine Technologie, die Daten in einer Datenbank in Objekte abbildet. Mit der ORM-Bibliothek können Entwickler die Datenbank betreiben, indem sie ein Objektmodell definieren, ohne direkt SQL-Anweisungen schreiben zu müssen. Zu den in FastAPI häufig verwendeten ORM-Bibliotheken gehören SQLAlchemy, Peewee usw. In diesem Artikel wird SQLAlchemy als Beispiel zur Veranschaulichung verwendet.

2. SQLAlchemy installieren und konfigurieren
Bevor wir SQLAlchemy verwenden, müssen wir zunächst die SQLAlchemy-Bibliothek installieren. Es kann über den folgenden Befehl installiert werden:

pip install sqlalchemy
Nach dem Login kopieren

Nachdem die Installation abgeschlossen ist, müssen wir die Verbindungskonfiguration der Datenbank festlegen. In FastAPI können Sie den folgenden Code zur Datei main.py hinzufügen:

from sqlalchemy import create_engine
from sqlalchemy.orm import declarative_base, sessionmaker

SQLALCHEMY_DATABASE_URL = "sqlite:///./test.db"
engine = create_engine(SQLALCHEMY_DATABASE_URL)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)

Base = declarative_base()
Nach dem Login kopieren

Im obigen Code haben wir eine SQLite-Datenbank erstellt und SessionLocal zum Erstellen einer Datenbanksitzung definiert. SQLALCHEMY_DATABASE_URL ist die URL der Datenbankverbindung.

3. Definieren Sie das Datenmodell
Bevor wir ORM für Datenoperationen verwenden, müssen wir das Datenmodell definieren. Datenmodelle können in der Datei models.py definiert werden. Nehmen Sie als Beispiel ein Beispielbenutzermodell:

from sqlalchemy import Column, Integer, String
from database import Base

class User(Base):
    __tablename__ = "users"

    id = Column(Integer, primary_key=True, index=True)
    name = Column(String(50), unique=True, index=True)
    email = Column(String(50), unique=True, index=True)
    password = Column(String(100))
Nach dem Login kopieren

Im obigen Code definieren wir ein Datenmodell mit dem Namen „Benutzer“ und geben den Datentabellennamen „Benutzer“ an. Im Datenmodell können wir die Typen der einzelnen Felder usw. definieren.

4. Datentabellen erstellen
Bevor wir ORM für Datenoperationen verwenden, müssen wir die entsprechenden Datenbanktabellen erstellen. Sie können der Datei main.py den folgenden Code hinzufügen:

Base.metadata.create_all(bind=engine)
Nach dem Login kopieren

Der obige Code erstellt Tabellen, die allen definierten Datenmodellen in der Datenbank entsprechen.

5. Beispiele für Datenoperationen
Am Beispiel des Benutzermodells geben wir einige gängige Beispiele für Datenoperationen.

  1. Alle Benutzer abfragen

    from sqlalchemy.orm import Session
    from . import models
    
    def get_users(db: Session):
     return db.query(models.User).all()
    Nach dem Login kopieren

    Im obigen Code fragen wir alle Benutzerdaten ab und geben sie zurück.

  2. Fragen Sie einen einzelnen Benutzer ab

    from sqlalchemy.orm import Session
    from . import models
    
    def get_user_by_id(db: Session, user_id: int):
     return db.query(models.User).filter(models.User.id == user_id).first()
    Nach dem Login kopieren

    Im obigen Code fragen wir die Daten eines einzelnen Benutzers nach Benutzer-ID ab und geben sie zurück.

  3. Benutzer erstellen

    from sqlalchemy.orm import Session
    from . import models, schemas
    
    def create_user(db: Session, user: schemas.UserCreate):
     hashed_password = hashlib.sha256(user.password.encode()).hexdigest()
     db_user = models.User(name=user.name, email=user.email, password=hashed_password)
     db.add(db_user)
     db.commit()
     db.refresh(db_user)
     return db_user
    Nach dem Login kopieren

    Im obigen Code speichern wir die eingehenden Benutzerdaten in der Datenbank und geben sie zurück.

  4. Benutzer aktualisieren

    from sqlalchemy.orm import Session
    from . import models, schemas
    
    def update_user(db: Session, user_id: int, user: schemas.UserUpdate):
     db_user = db.query(models.User).filter(models.User.id == user_id).first()
     if user.name:
         db_user.name = user.name
     if user.email:
         db_user.email = user.email
     if user.password:
         db_user.password = hashlib.sha256(user.password.encode()).hexdigest()
     db.commit()
     db.refresh(db_user)
     return db_user
    Nach dem Login kopieren

    Im obigen Code speichern wir die eingehenden Aktualisierungsdaten über die Benutzer-ID in der Datenbank.

  5. Benutzer löschen

    from sqlalchemy.orm import Session
    from . import models
    
    def delete_user(db: Session, user_id: int):
     db_user = db.query(models.User).filter(models.User.id == user_id).first()
     db.delete(db_user)
     db.commit()
     return {'message': f"User {user_id} deleted successfully"}
    Nach dem Login kopieren

    Im obigen Code löschen wir Benutzerdaten anhand der Benutzer-ID aus der Datenbank.

    Fazit:
    Anhand der obigen Codebeispiele können wir sehen, dass es relativ einfach ist, die ORM-Bibliothek für Datenoperationen in FastAPI zu verwenden. Mithilfe der ORM-Bibliothek müssen wir keine SQL-Anweisungen direkt schreiben, sondern können Datenbankoperationen über das Objektmodell ausführen, wodurch der Code prägnanter und lesbarer wird. Ich hoffe, dieser Artikel hilft Ihnen dabei, die ORM-Bibliothek für die Datenbearbeitung in Ihrem FastAPI-Projekt zu verwenden.

    Das obige ist der detaillierte Inhalt vonSo verwenden Sie die ORM-Bibliothek zur Datenbearbeitung in FastAPI. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich So verwenden Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich Aug 01, 2023 am 09:44 AM

So verwenden Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich Einführung: FastAPI und Nginx sind zwei sehr beliebte Webentwicklungstools. FastAPI ist ein leistungsstarkes Python-Framework und Nginx ist ein leistungsstarker Reverse-Proxy-Server. Die gemeinsame Verwendung dieser beiden Tools kann die Leistung und Zuverlässigkeit Ihrer Webanwendungen verbessern. In diesem Artikel erfahren Sie, wie Sie Nginx mit FastAPI für Reverse-Proxy und Lastausgleich verwenden. Was ist Reverse Generation?

So erreichen Sie eine hohe Parallelität und einen Lastausgleich von Anforderungen in FastAPI So erreichen Sie eine hohe Parallelität und einen Lastausgleich von Anforderungen in FastAPI Jul 31, 2023 pm 01:50 PM

So erreichen Sie eine hohe Parallelität und einen Lastausgleich von Anforderungen in FastAPI. Einführung: Mit der Entwicklung des Internets ist die hohe Parallelität von Webanwendungen zu einem häufigen Problem geworden. Bei der Bearbeitung einer großen Anzahl von Anfragen müssen wir effiziente Frameworks und Technologien einsetzen, um die Systemleistung und Skalierbarkeit sicherzustellen. FastAPI ist ein leistungsstarkes Python-Framework, das uns dabei helfen kann, eine hohe Parallelität und Lastverteilung zu erreichen. In diesem Artikel wird erläutert, wie Sie mit FastAPI eine hohe Parallelität und einen Lastausgleich für Anforderungen erreichen. Wir werden Python3.7 verwenden

So implementieren Sie Datenbankverbindungen und Transaktionsverarbeitung in FastAPI So implementieren Sie Datenbankverbindungen und Transaktionsverarbeitung in FastAPI Jul 30, 2023 am 11:45 AM

So implementieren Sie Datenbankverbindungen und Transaktionsverarbeitung in FastAPI Einführung: Mit der schnellen Entwicklung von Webanwendungen sind Datenbankverbindungen und Transaktionsverarbeitung zu einem sehr wichtigen Thema geworden. FastAPI ist ein leistungsstarkes Python-Webframework, das bei Entwicklern wegen seiner Geschwindigkeit und Benutzerfreundlichkeit beliebt ist. In diesem Artikel stellen wir vor, wie Sie Datenbankverbindungen und Transaktionen in FastAPI implementieren, um Sie beim Erstellen zuverlässiger und effizienter Webanwendungen zu unterstützen. Teil 1: Datenbankanbindung in FastA

So verwenden Sie die Swagger-Benutzeroberfläche, um die API-Dokumentation in FastAPI anzuzeigen So verwenden Sie die Swagger-Benutzeroberfläche, um die API-Dokumentation in FastAPI anzuzeigen Jul 30, 2023 am 10:45 AM

So verwenden Sie SwaggerUI, um die API-Dokumentation in FastAPI anzuzeigen. Einführung: In der modernen Webentwicklung ist die API ein integraler Bestandteil. Um die Entwicklung und Wartung zu erleichtern, müssen wir eine benutzerfreundliche und benutzerfreundliche API-Dokumentation bereitstellen, damit andere Entwickler unsere API verstehen und verwenden können. Swagger ist ein beliebtes API-Dokumentationsformat und -Tool, das eine interaktive Benutzeroberfläche bereitstellt, die die Details der API visuell anzeigen kann. In diesem Artikel zeige ich Ihnen, wie Sie Fas verwenden

Erstellen Sie internationale Webanwendungen mit dem FastAPI-Framework Erstellen Sie internationale Webanwendungen mit dem FastAPI-Framework Sep 29, 2023 pm 03:53 PM

Verwenden Sie das FastAPI-Framework, um internationale Webanwendungen zu erstellen. FastAPI ist ein leistungsstarkes Python-Web-Framework, das Python-Typ-Annotationen und leistungsstarke asynchrone Unterstützung kombiniert, um die Entwicklung von Webanwendungen einfacher, schneller und zuverlässiger zu machen. Beim Erstellen einer internationalen Webanwendung bietet FastAPI praktische Tools und Konzepte, mit denen die Anwendung problemlos mehrere Sprachen unterstützen kann. Im Folgenden werde ich ein spezifisches Codebeispiel geben, um vorzustellen, wie das FastAPI-Framework zum Erstellen verwendet wird

Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Flask vs. FastAPI: Die beste Wahl für eine effiziente Web-API-Entwicklung Sep 27, 2023 pm 09:01 PM

FlaskvsFastAPI: Die beste Wahl für eine effiziente Entwicklung von WebAPI Einführung: In der modernen Softwareentwicklung ist WebAPI zu einem unverzichtbaren Bestandteil geworden. Sie stellen Daten und Dienste bereit, die die Kommunikation und Interoperabilität zwischen verschiedenen Anwendungen ermöglichen. Bei der Auswahl eines Frameworks für die Entwicklung von WebAPI haben Flask und FastAPI große Aufmerksamkeit erregt. Beide Frameworks erfreuen sich großer Beliebtheit und jedes hat seine eigenen Vorteile. In diesem Artikel werden wir uns Fl ansehen

Wie verwende ich objektrelationales Mapping (ORM) in PHP, um Datenbankoperationen zu vereinfachen? Wie verwende ich objektrelationales Mapping (ORM) in PHP, um Datenbankoperationen zu vereinfachen? May 07, 2024 am 08:39 AM

Datenbankoperationen in PHP werden durch ORM vereinfacht, das Objekte in relationalen Datenbanken abbildet. EloquentORM in Laravel ermöglicht Ihnen die Interaktion mit der Datenbank mithilfe einer objektorientierten Syntax. Sie können ORM verwenden, indem Sie Modellklassen definieren, Eloquent-Methoden verwenden oder in der Praxis ein Blog-System erstellen.

So implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI So implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI Jul 30, 2023 am 08:29 AM

So implementieren Sie die Anforderungsprotokollierung und -überwachung in FastAPI. Einführung: FastAPI ist ein leistungsstarkes Web-Framework, das auf Python3.7+ basiert. Es bietet viele leistungsstarke Funktionen und Features, einschließlich automatisierter Anforderungs- und Antwortmodellüberprüfung, Sicherheit und Leistungsoptimierung. In der tatsächlichen Entwicklung müssen wir häufig Anforderungsprotokolle in der Anwendung aufzeichnen, um Debugging- und Überwachungsanalysen durchzuführen. In diesem Artikel wird die Implementierung der Anforderungsprotokollierung und -überwachung in FastAPI vorgestellt und entsprechende Codebeispiele bereitgestellt. 1. Installation

See all articles