Heim >Backend-Entwicklung >Python-Tutorial >Wie verwende ich das ORM-Framework in der Python-Serverprogrammierung?

Wie verwende ich das ORM-Framework in der Python-Serverprogrammierung?

WBOY
WBOYOriginal
2023-06-18 17:12:11974Durchsuche

Mit der weit verbreiteten Verwendung von Python in der serverseitigen Programmierung ist das ORM-Framework (Object Relational Mapping) zu einem wichtigen Bestandteil der Python-Serverprogrammierung geworden. Das ORM-Framework vereinfacht Datenbankoperationen, indem es Daten in der Datenbank Python-Objekten zuordnet und gemeinsame Schnittstellen abstrahiert, sodass sich Entwickler mehr auf die Implementierung der Geschäftslogik statt auf zugrunde liegende Datenbankoperationen konzentrieren können. In diesem Artikel wird die Verwendung des ORM-Frameworks in der Python-Serverprogrammierung vorgestellt.

Vorteile des ORM-Frameworks

Bei herkömmlichen Datenbankoperationen müssen wir SQL-Anweisungen verwenden, um die Datenbank hinzuzufügen, zu löschen, zu ändern und abzufragen. Solche Vorgänge erfordern Kenntnisse der Datenbankstruktur, der Datentabellenstruktur und der SQL-Syntax und sind schwierig zu warten und zu erweitern. Durch die Verwendung des ORM-Frameworks können Datentabellen Python-Klassen zugeordnet und Operationen zum Hinzufügen, Löschen, Ändern und Abfragen abstrahiert werden, wodurch die Entwicklung vereinfacht wird. Die Vorteile des ORM-Frameworks sind wie folgt:

  1. Abstrakte Datentabelle

Die Datentabelle ist die grundlegendste Speichereinheit in der Datenbank. Mit dem ORM-Framework können wir eine Datentabelle einer Python-Klasse zuordnen, und die Attribute in der Klasse entsprechen den Spaltennamen in der Datentabelle, wodurch die Abstraktion der Datentabelle realisiert wird. Auf diese Weise entspricht die Bearbeitung der Datentabelle der Bearbeitung der Python-Klasse.

  1. Vereinfachte Operationen

Mit dem ORM-Framework können wir einfache Python-Funktionen und -Methoden zum Betreiben der Datenbank verwenden. Wir können die zugrunde liegenden SQL-Operationen kapseln und müssen nur Methoden aufrufen, um Operationen zum Hinzufügen, Löschen, Ändern und Abfragen durchzuführen .

  1. Wartungsschwierigkeiten reduzieren

Mit dem ORM-Framework können Sie die zugrunde liegenden Details von Datenbankoperationen abstrahieren und die Kopplung zwischen der Datenbank und dem Code verringern, wodurch die Wartungs- und Erweiterungsschwierigkeiten verringert werden, sodass sich Entwickler mehr auf die Implementierung konzentrieren können Geschäftslogik.

Wählen Sie das richtige ORM-Framework

Es gibt viele ORM-Frameworks in Python, darunter Django ORM, SQLAlchemy, Peewee usw. Bei der Auswahl eines geeigneten ORM-Frameworks müssen Sie folgende Aspekte berücksichtigen:

  1. Ist es mit Ihrem eigenen Entwicklungsframework kompatibel?

Wenn Sie ein Python-Webframework wie Flask oder Django verwenden, müssen Sie darauf achten dass das von Ihnen gewählte ORM-Framework mit dem Framework kompatibel ist.

  1. Datenbankunterstützung

Verschiedene ORM-Frameworks unterstützen unterschiedliche Datenbanken. Beispielsweise unterstützt Django ORM nur PostgreSQL, MySQL und SQLite, während SQLAlchemy mehr Datenbanken wie Oracle, SQL Server, MySQL usw. unterstützt. Daher müssen Sie ein ORM-Framework auswählen, das für Ihren eigenen Gebrauch geeignet ist.

  1. Funktionsunterstützung

Verschiedene ORM-Frameworks bieten unterschiedliche funktionale Unterstützung für verschiedene Anwendungsszenarien. Sie müssen das ORM-Framework auswählen, das Ihren Anforderungen entspricht, basierend auf Ihren eigenen Anforderungen.

ORM mit SQLAlchemy implementieren

In der Python-Serverprogrammierung ist SQLAlchemy eines der beliebtesten ORM-Frameworks. Es handelt sich um ein voll funktionsfähiges SQL-Toolkit und eine ORM-Bibliothek, die mit den meisten Datenbanken interagieren kann. Im Folgenden stellen wir vor, wie Sie SQLAlchemy zur Implementierung von ORM verwenden.

Installieren Sie SQLAlchemy

Bevor Sie beginnen, müssen Sie zuerst SQLAlchemy installieren. Sie können es mit dem Befehl pip installieren.

pip install sqlalchemy

Mit der Datenbank verbinden

Wenn Sie SQLAlchemy für ORM-Operationen verwenden, müssen Sie zunächst eine Verbindung mit der Datenbank herstellen. In SQLAlchemy können Sie create_engine()

from sqlalchemy import create_engine

DB_URI = 'postgresql://username:password@host:port/database'
engine = create_engine(DB_URI)

verwenden, um eine Verbindung zur Datenbank herzustellen. Unter anderem ist DB_URI die Datenbankverbindungszeichenfolge im Format „{dialect}://{user}:{password}@{host}“. {port}/{database }“, beispielsweise lautet die Verbindungszeichenfolge im PostgreSQL-Format:

postgresql://myuser:mypassword@localhost:5432/mydatabase

Erstellen Sie eine Datentabelle und eine Python-Klasse

Verwenden Sie SQLAlchemy für Datenbankoperationen, und Sie müssen die Datentabelle einer Python-Klasse zuordnen . Die Python-Klasse entspricht der Datentabelle der Datenbank und die Attribute der Klasse entsprechen den Spaltennamen in der Tabelle. Bevor Sie eine Python-Klasse erstellen, müssen Sie zunächst eine Datentabelle erstellen. Datentabellen in SQLAlchemy werden als Tabelle dargestellt. Sie können die Funktion declarative_base() verwenden, um eine Basisklasse zu erstellen, und diese dann verwenden, um die Zuordnungsbeziehung zwischen Python-Klassen und Datenbanktabellen zu definieren.

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base

Base = declarative_base()

class User(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String)
    age = Column(Integer)
    email = Column(String)

Im obigen Code erbt die Benutzerklasse von der Basisklasse, das Attribut __tablename__ gibt den entsprechenden Datentabellennamen an und dann entspricht jedes Attribut der Spalte in der Datentabelle.

ORM-Betrieb implementieren

Da wir nun eine Datenbankverbindung hergestellt und eine Zuordnungsbeziehung zwischen Python-Klassen und Datentabellen erstellt haben, können wir nun die Datenbank betreiben.

Daten einfügen

Um Daten einzufügen, können Sie die Methode session.add() verwenden, und um eine Transaktion festzuschreiben, verwenden Sie die Methode session.commit().

from sqlalchemy.orm import sessionmaker

Session = sessionmaker(bind=engine)
session = Session()

user = User(name='Tom', age=20, email='tom@example.com')
session.add(user)
session.commit()

Daten abfragen

Die Verwendung von SQLAlchemy zum Ausführen von Abfragevorgängen ist hauptsächlich in zwei Schritte unterteilt:

  1. Erstellen Sie das Abfragedatentabellenobjekt und verwenden Sie Session, um ein Abfrageobjekt zu erstellen.
  2. Verwenden Sie zum Abfragen Methoden wie filter() und order_by() im Query-Objekt.
users = session.query(User).filter(User.age > 18).order_by(User.age.desc()).all()
for user in users:
    print(user.name, user.age, user.email)

Daten aktualisieren

Das Aktualisieren von Daten kann mit der Methode session.add() erfolgen.

user = session.query(User).filter_by(name='Tom').first()
user.age = 21
session.add(user)
session.commit()

Daten löschen

Das Löschen von Daten aus der Datenbank kann mit der Methode session.delete() erfolgen.

user = session.query(User).filter_by(name='Tom').first()
session.delete(user)
session.commit()

总结

在Python服务器编程中,ORM框架可以提供数据抽象、简化操作和降低维护难度的优势,能够加快开发速度。在选择ORM框架时,需要考虑自己的技术栈以及需求,选择相应的ORM框架。本文以SQLAlchemy为例,介绍了如何使用SQLAlchemy实现ORM操作,包括连接数据库、创建数据表和Python类以及实现增删改查操作。

Das obige ist der detaillierte Inhalt vonWie verwende ich das ORM-Framework in der Python-Serverprogrammierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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