Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung des ORM-Frameworks SQLObject in Python

Detaillierte Erläuterung des ORM-Frameworks SQLObject in Python

WBOY
WBOYOriginal
2023-06-10 17:06:071032Durchsuche

Mit der weit verbreiteten Beliebtheit von Webanwendungen wird Python im Bereich der Webentwicklung immer häufiger eingesetzt. Viele Python-Web-Frameworks bieten heute einige ORM-Frameworks für den Betrieb von Datenbanken. SQLObject ist eines der sehr beliebten und benutzerfreundlichen ORM-Frameworks. In diesem Artikel wird die Verwendung des SQLObject-Frameworks ausführlich vorgestellt.

  1. Installieren Sie SQLObject

Mit dem Pip-Tool können Sie SQLObject ganz einfach installieren:

pip install sqlobject
  1. Mit der Datenbank verbinden

Stellen Sie zunächst die SQLobject-Bibliothek vor und verwenden Sie die Methode „connectionForURI“, um eine Verbindung zur Datenbank herzustellen. Das Folgende ist ein Beispiel für eine MySQL-Datenbankverbindung:

import MySQLdb
from sqlobject import *


connection_string = 'mysql://user:password@localhost/database'
connection = connectionForURI(connection_string)
sqlhub.processConnection = connection

Benutzer, Passwort, Localhost und Datenbank sollten durch tatsächliche Werte ersetzt werden.

  1. Modellklasse definieren

Beim Definieren einer Modellklasse müssen Sie die SQLObject-Klasse erben. Das Folgende ist ein einfaches Definitionsbeispiel der Person-Klasse:

class Person(SQLObject):
    name = StringCol(length=100)
    age = IntCol(default=0)

Die Person-Klasse enthält zwei Felder: Name und Alter. name ist ein String-Typ mit einer Länge von 100 und age ist ein Integer-Typ mit einem Anfangswert von 0. SQLObject bietet verschiedene Arten von Spalten, darunter StringCol, IntCol, FloatCol, DecimalCol, BoolCol, DateCol, DateTimeCol und TimeCol usw. Sie können auch andere Eigenschaften der Spalte festlegen, z. B. Standardwert, Eindeutigkeit, Index usw.

  1. Tabelle erstellen

Um eine Tabelle in der Datenbank zu erstellen, führen Sie einfach das Modul ein, das die Modellklasse in der Python-Shell oder dem Python-Skript definiert, und führen Sie die Methode createTable() aus:

from models import Person


Person.createTable()

Wenn die Tabelle bereits vorhanden ist, wird sie vorhanden sein nicht erneut erstellt werden.

  1. Daten einfügen

Um Daten in die Tabelle einzufügen, erstellen Sie einfach eine Instanz der Modellklasse und weisen Sie jedem Feld Werte zu. Zum Beispiel:

john = Person(name='John Smith', age=30)

Um die Instanz in der Datenbank zu speichern, rufen Sie ihre save()-Methode auf:

john.save()

An diesem Punkt wird eine Tabelle mit dem Namen „person“ in der Datenbank erstellt und eine Zeile mit dem Namen „John Smith“ und dem Alter 30 eingefügt . Aufzeichnen.

  1. Abfragen von Daten

SQLObject bietet viele Methoden zum Abfragen von Daten in der Datenbank. Im Folgenden sind einige häufig verwendete Methodenbeispiele aufgeführt:

(1) Alle Datensätze abrufen

Um alle Datensätze in der Person-Tabelle abzurufen, können Sie die Methode select() der Person-Klasse aufrufen:

people = Person.select()
for person in people:
    print(person.name, person.age)

Dieser Code durchläuft jeden Datensätze in die Personentabelle aufnehmen und deren Namens- und Altersfeldwerte ausgeben.

(2) Datensätze nach Bedingungen filtern

Um Datensätze nach Bedingungen zu filtern, können Sie ein SQLExpression-Objekt in der Methode select() übergeben. Der folgende Code erhält beispielsweise alle Personen, die 30 Jahre oder älter sind:

people = Person.select(Person.age >= 30)
for person in people:
    print(person.name, person.age)

Ebenso können Vergleiche mit Operatoren wie 91eef5681cad6f0cc96f9adeb2931b45, >=, == und != durchgeführt werden.

(3) Nach Feld sortieren

Um nach Feld zu sortieren, können Sie eine OrderBy-Klausel in der Methode select() übergeben. Der folgende Code sortiert beispielsweise nach dem Altersfeld in aufsteigender Reihenfolge:

people = Person.select(orderBy=Person.age)
for person in people:
    print(person.name, person.age)

Um in absteigender Reihenfolge zu sortieren, können Sie vor dem Feldnamen ein Minuszeichen hinzufügen, zum Beispiel:

people = Person.select(orderBy=-Person.age)
  1. Daten aktualisieren

Zur Aktualisierung Um die Daten abzurufen, ändern Sie einfach den Attributwert der Modellklasseninstanz und rufen Sie dann die Methode save () auf. Der folgende Code ändert beispielsweise das Alter von John Smith auf 35:

john.age = 35
john.save()
  1. Daten löschen

Um Daten zu löschen, rufen Sie einfach die Methode destroySelf() der Modellklasseninstanz auf. Der folgende Code löscht beispielsweise einen Datensatz mit dem Namen John Smith:

john.destroySelf()
  1. Summary

SQLObject ist ein sehr praktisches ORM-Framework, das Datenbankoperationen in der Python-Webentwicklung erheblich vereinfachen kann. In diesem Artikel wird die grundlegende Verwendung von SQLObject vorgestellt, einschließlich der Verbindung mit der Datenbank, der Definition von Modellklassen, der Erstellung von Tabellen, dem Einfügen von Daten, dem Abfragen von Daten, dem Aktualisieren von Daten und dem Löschen von Daten. Ich hoffe, dass die Leser versuchen können, SQLObject für die Python-Webentwicklung zu verwenden.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des ORM-Frameworks SQLObject in Python. 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