Maison >développement back-end >Tutoriel Python >Explication détaillée du framework ORM SQLObject en Python
Avec la popularité généralisée des applications Web, Python est de plus en plus utilisé dans le domaine du développement Web. De nombreux frameworks Web Python fournissent aujourd'hui des frameworks ORM pour l'exploitation des bases de données. SQLObject est l'un des frameworks ORM les plus populaires et les plus faciles à utiliser. Cet article présentera en détail comment utiliser le framework SQLObject.
L'utilisation de l'outil pip peut facilement installer SQLObject :
pip install sqlobject
Tout d'abord, introduisez la bibliothèque sqlobject et utilisez la méthode connectionForURI pour vous connecter à la base de données. Voici un exemple de connexion à une base de données MySQL :
import MySQLdb from sqlobject import * connection_string = 'mysql://user:password@localhost/database' connection = connectionForURI(connection_string) sqlhub.processConnection = connection
L'utilisateur, le mot de passe, l'hôte local et la base de données doivent être remplacés par les valeurs réelles.
Lors de la définition d'une classe modèle, vous devez hériter de la classe SQLObject. Voici un exemple simple de définition de la classe Person :
class Person(SQLObject): name = StringCol(length=100) age = IntCol(default=0)
La classe Person contient deux champs : nom et âge. name est un type de chaîne d’une longueur de 100 et age est un type entier avec une valeur initiale de 0. SQLObject fournit plusieurs types de colonnes différents, notamment StringCol, IntCol, FloatCol, DecimalCol, BoolCol, DateCol, DateTimeCol et TimeCol, etc. Vous pouvez également définir d'autres propriétés de la colonne, telles que la valeur par défaut, l'unicité, l'index, etc.
Pour créer une table dans la base de données, introduisez simplement le module qui définit la classe modèle dans le shell ou le script Python et exécutez la méthode createTable() :
from models import Person Person.createTable()
Si la table existe déjà, elle le sera ne pas être créé à nouveau.
Pour insérer des données dans le tableau, créez simplement une instance de la classe modèle et attribuez des valeurs à chaque champ. Par exemple :
john = Person(name='John Smith', age=30)
Pour enregistrer l'instance dans la base de données, appelez sa méthode save() :
john.save()
À ce stade, une table nommée person sera créée dans la base de données et une ligne nommée John Smith avec l'âge de 30 ans sera insérée . Enregistrer.
SQLObject fournit de nombreuses méthodes pour interroger les données dans la base de données. Voici plusieurs exemples de méthodes couramment utilisées :
(1) Récupérer tous les enregistrements
Pour obtenir tous les enregistrements de la table Person, vous pouvez appeler la méthode select() de la classe Person :
people = Person.select() for person in people: print(person.name, person.age)
Ce code parcourra chaque enregistrez dans les enregistrements de la table Personne et affichez leurs valeurs de champ de nom et d'âge.
(2) Filtrer les enregistrements par conditions
Pour filtrer les enregistrements par conditions, vous pouvez transmettre un objet SQLExpression dans la méthode select(). Par exemple, le code suivant obtiendra toutes les personnes âgées de 30 ans ou plus :
people = Person.select(Person.age >= 30) for person in people: print(person.name, person.age)
De même, des comparaisons peuvent être effectuées à l'aide d'opérateurs tels que 91eef5681cad6f0cc96f9adeb2931b45, >=, == et !=.
(3) Trier par champ
Pour trier par champ, vous pouvez transmettre une clause OrderBy dans la méthode select(). Par exemple, le code suivant triera par le champ âge par ordre croissant :
people = Person.select(orderBy=Person.age) for person in people: print(person.name, person.age)
Pour trier par ordre décroissant, vous pouvez ajouter un signe moins avant le nom du champ, par exemple :
people = Person.select(orderBy=-Person.age)
Pour mettre à jour les données, modifiez simplement la valeur de l'attribut de l'instance de classe de modèle, puis appelez sa méthode save(). Par exemple, le code suivant modifiera l'âge de John Smith à 35 ans :
john.age = 35 john.save()
Pour supprimer des données, appelez simplement la méthode destroySelf() de l'instance de classe modèle. Par exemple, le code suivant supprimera un enregistrement nommé John Smith :
john.destroySelf()
SQLObject est un framework ORM très pratique qui peut grandement simplifier les opérations de base de données dans le développement Web Python. Cet article présente l'utilisation de base de SQLObject, notamment la connexion à la base de données, la définition des classes de modèle, la création de tables, l'insertion de données, l'interrogation de données, la mise à jour des données et la suppression de données. J'espère que les lecteurs pourront essayer d'utiliser SQLObject pour le développement Web Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!