Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung des ORM-Frameworks SQLObject in Python
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.
Mit dem Pip-Tool können Sie SQLObject ganz einfach installieren:
pip install sqlobject
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.
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.
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.
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.
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)
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()
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()
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!