Framework ORM Tortoise ORM en Python en pratique
Tortoise ORM est un framework ORM asynchrone développé sur la base du langage Python et peut être utilisé pour gérer des bases de données relationnelles dans des applications asynchrones Python.
Cet article expliquera comment utiliser le framework Tortoise ORM pour créer, lire, mettre à jour et supprimer des données. Vous apprendrez également à effectuer des requêtes simples et complexes à partir d'une base de données relationnelle.
Préparation
Avant de commencer ce tutoriel, vous devez installer Python (Python3.6+ est recommandé) et installer le framework Tortoise ORM.
Vous pouvez installer le framework Tortoise ORM via pip en utilisant la commande suivante :
pip install tortoise-orm
Ensuite, nous configurerons la base de données et la structure du modèle.
Créer une connexion à la base de données
Utiliser Tortoise ORM pour effectuer des opérations de base de données nécessite d'abord de se connecter à la base de données. Dans ce tutoriel, nous utiliserons une base de données SQLite.
Tortoise ORM utilise des variables d'environnement ou des fichiers .config pour gérer les informations de connexion à la base de données. Créez un fichier nommé .env
et la configuration suivante pour établir la connexion à la base de données. .env
的文件和以下配置,可以实现数据库连接。
DATABASE_URL=sqlite://db.sqlite3
其中db.sqlite3
是你所要创建的新数据库的文件名。
同时,我们还需要在代码中使用函数来初始化Tortoise ORM:
import os from dotenv import load_dotenv from tortoise import Tortoise # 加载环境变量 load_dotenv() async def init_db(): await Tortoise.init(config={ 'connections': { 'default': os.getenv('DATABASE_URL') }, 'apps': { 'models': { 'models': ['app.models',], 'default_connection': 'default' } } }) await Tortoise.generate_schemas()
在上面的代码中我们使用环境变量获取数据库连接信息,并传递给Tortoise ORM进行初始化。接着调用Tortoise.generate_schemas()
方法来为所定义的模型生成对应的数据表。
在完成上述操作后,我们就可以开始创建模型。
创建模型
在本教程中,我们将创建一个简单的博客模型,该模型包含标题、内容、创建时间、更新时间和作者。
from tortoise import fields from tortoise.models import Model class Blog(Model): id = fields.IntField(pk=True) title = fields.CharField(max_length=100) content = fields.TextField() created_at = fields.DatetimeField(auto_now_add=True) updated_at = fields.DatetimeField(auto_now=True) author = fields.CharField(max_length=100)
在上面的代码的Blog模型中,我们使用Model
基类并创建了一些字段id
、title
、content
、created_at
、updated_at
和author
。pk=True
指明了id
字段是主键。auto_now_add=True
和auto_now=True
分别指明了created_at
和updated_at
字段应该在创建和更新时自动更新。
现在,我们已经成功定义了一个模型,接下来学习如何使用Tortoise ORM进行CRUD操作。
读取和创建数据
使用Tortoise ORM读取和创建数据非常简单,以下是一些示例代码:
from app.models import Blog # 创建一个新博客 blog = await Blog.create(title='Tortoise ORM', content='使用Tortoise ORM操作数据库非常方便', author='Alice') # 读取所有博客 blogs = await Blog.all() for blog in blogs: print(blog.title) # 根据标题读取指定博客 blog = await Blog.get(title='Tortoise ORM') print(blog.content)
在上面的代码中,我们使用了Blog.create()
方法创建了一个新博客,使用Blog.all()
方法读取了所有博客,并使用Blog.get()
方法根据标题读取了指定的博客。
更新和删除数据
Tortoise ORM也提供了更新和删除数据的方法。以下是一些示例代码:
# 更新博客的内容 blog.content = 'Tortoise ORM提供了丰富的API来管理数据库' await blog.save() # 删除指定的博客 await Blog.filter(title='Tortoise ORM').delete()
在上面的代码中,我们使用save()
方法更新了博客的内容,并使用filter()
和delete()
方法根据标题删除了指定的博客。
执行复杂查询
除了基本的CRUD操作,Tortoise ORM还允许执行复杂的查询。以下是一些示例:
# 使用where子句查询特定日期创建的博客 blogs = await Blog.filter(created_at__date='2021-07-12').all() # 使用order_by子句将博客按更新日期升序排列 blogs = await Blog.all().order_by('updated_at') # 连接多个过滤器查询具有特定条件的博客 blogs = await Blog.all().filter(title__contains='ORM', author__icontains='Alice')
在上面的代码中,我们使用了filter()
、all()
和order_by()
方法结合一些查询参数,例如。created_at__date
、title__contains
和author__icontains
rrreee
db.sqlite3
est le nom de fichier de la nouvelle base de données que vous souhaitez créer. En même temps, nous devons également utiliser une fonction dans le code pour initialiser Tortoise ORM : rrreee
Dans le code ci-dessus, nous utilisons des variables d'environnement pour obtenir les informations de connexion à la base de données et les transmettons à Tortoise ORM pour l'initialisation. Appelez ensuite la méthodeTortoise.generate_schemas()
pour générer la table de données correspondante pour le modèle défini. 🎜🎜Après avoir terminé les opérations ci-dessus, nous pouvons commencer à créer le modèle. 🎜🎜Créer un modèle🎜🎜Dans ce didacticiel, nous allons créer un modèle de blog simple qui contient le titre, le contenu, l'heure de création, l'heure de mise à jour et l'auteur. 🎜rrreee🎜Dans le modèle Blog du code ci-dessus, nous utilisons la classe de base Model
et créons des champs id
, title
, content
, created_at
, updated_at
et author
. pk=True
spécifie que le champ id
est la clé primaire. auto_now_add=True
et auto_now=True
spécifient que les champs created_at
et updated_at
doivent être automatiquement mis à jour lors de leur création et de leur mise à jour. respectivement. 🎜🎜Maintenant que nous avons défini avec succès un modèle, apprenons à utiliser Tortoise ORM pour les opérations CRUD. 🎜🎜Lecture et création de données🎜🎜La lecture et la création de données à l'aide de Tortoise ORM est très simple, voici un exemple de code : 🎜rrreee🎜Dans le code ci-dessus, nous avons utilisé Blog.create()
La méthode crée un nouveau blog, utilise la méthode Blog.all()
pour lire tous les blogs et utilise la méthode Blog.get()
pour lire le blog spécifié en fonction du titre. . 🎜🎜Mettre à jour et supprimer des données🎜🎜Tortoise ORM fournit également des méthodes pour mettre à jour et supprimer des données. Voici un exemple de code : 🎜rrreee🎜 Dans le code ci-dessus, nous avons mis à jour le contenu du blog en utilisant la méthode save()
et avons utilisé filter()
et La méthode delete()
supprime le blog spécifié en fonction du titre. 🎜🎜Exécuter des requêtes complexes🎜🎜En plus des opérations CRUD de base, Tortoise ORM permet également d'exécuter des requêtes complexes. Voici quelques exemples : 🎜rrreee🎜Dans le code ci-dessus, nous avons utilisé les méthodes filter()
, all()
et order_by()
Combiné avec certains paramètres de requête, par exemple. created_at__date
, title__contains
et author__icontains
, etc., pour effectuer des requêtes complexes. 🎜🎜Conclusion🎜🎜Dans ce didacticiel, nous avons appris à utiliser le framework Tortoise ORM pour implémenter des opérations CRUD, initialiser la base de données, créer des modèles et effectuer des requêtes de base de données complexes. Comme nous pouvons le voir, Tortoise ORM rend la gestion des bases de données dans les applications asynchrones Python très simple et intuitive. 🎜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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

L'article présente le fonctionnement de la base de données MySQL. Tout d'abord, vous devez installer un client MySQL, tel que MySQLWorkBench ou le client de ligne de commande. 1. Utilisez la commande MySQL-UROot-P pour vous connecter au serveur et connecter avec le mot de passe du compte racine; 2. Utilisez Createdatabase pour créer une base de données et utilisez Sélectionner une base de données; 3. Utilisez CreateTable pour créer une table, définissez des champs et des types de données; 4. Utilisez InsertInto pour insérer des données, remettre en question les données, mettre à jour les données par mise à jour et supprimer les données par Supprimer. Ce n'est qu'en maîtrisant ces étapes, en apprenant à faire face à des problèmes courants et à l'optimisation des performances de la base de données que vous pouvez utiliser efficacement MySQL.

Les principales raisons de la défaillance de l'installation de MySQL sont les suivantes: 1. Problèmes d'autorisation, vous devez s'exécuter en tant qu'administrateur ou utiliser la commande sudo; 2. Des dépendances sont manquantes et vous devez installer des packages de développement pertinents; 3. Conflits du port, vous devez fermer le programme qui occupe le port 3306 ou modifier le fichier de configuration; 4. Le package d'installation est corrompu, vous devez télécharger et vérifier l'intégrité; 5. La variable d'environnement est mal configurée et les variables d'environnement doivent être correctement configurées en fonction du système d'exploitation. Résolvez ces problèmes et vérifiez soigneusement chaque étape pour installer avec succès MySQL.

Le fichier de téléchargement mysql est corrompu, que dois-je faire? Hélas, si vous téléchargez MySQL, vous pouvez rencontrer la corruption des fichiers. Ce n'est vraiment pas facile ces jours-ci! Cet article expliquera comment résoudre ce problème afin que tout le monde puisse éviter les détours. Après l'avoir lu, vous pouvez non seulement réparer le package d'installation MySQL endommagé, mais aussi avoir une compréhension plus approfondie du processus de téléchargement et d'installation pour éviter de rester coincé à l'avenir. Parlons d'abord de la raison pour laquelle le téléchargement des fichiers est endommagé. Il y a de nombreuses raisons à cela. Les problèmes de réseau sont le coupable. L'interruption du processus de téléchargement et l'instabilité du réseau peut conduire à la corruption des fichiers. Il y a aussi le problème avec la source de téléchargement elle-même. Le fichier serveur lui-même est cassé, et bien sûr, il est également cassé si vous le téléchargez. De plus, la numérisation excessive "passionnée" de certains logiciels antivirus peut également entraîner une corruption des fichiers. Problème de diagnostic: déterminer si le fichier est vraiment corrompu

MySQL peut s'exécuter sans connexions réseau pour le stockage et la gestion des données de base. Cependant, la connexion réseau est requise pour l'interaction avec d'autres systèmes, l'accès à distance ou l'utilisation de fonctionnalités avancées telles que la réplication et le clustering. De plus, les mesures de sécurité (telles que les pare-feu), l'optimisation des performances (choisissez la bonne connexion réseau) et la sauvegarde des données sont essentielles pour se connecter à Internet.

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

MySQL a refusé de commencer? Ne paniquez pas, vérifions-le! De nombreux amis ont découvert que le service ne pouvait pas être démarré après avoir installé MySQL, et ils étaient si anxieux! Ne vous inquiétez pas, cet article vous emmènera pour le faire face calmement et découvrez le cerveau derrière! Après l'avoir lu, vous pouvez non seulement résoudre ce problème, mais aussi améliorer votre compréhension des services MySQL et vos idées de problèmes de dépannage, et devenir un administrateur de base de données plus puissant! Le service MySQL n'a pas réussi et il y a de nombreuses raisons, allant des erreurs de configuration simples aux problèmes système complexes. Commençons par les aspects les plus courants. Connaissances de base: une brève description du processus de démarrage du service MySQL Service Startup. Autrement dit, le système d'exploitation charge les fichiers liés à MySQL, puis démarre le démon mysql. Cela implique la configuration

L'optimisation des performances MySQL doit commencer à partir de trois aspects: configuration d'installation, indexation et optimisation des requêtes, surveillance et réglage. 1. Après l'installation, vous devez ajuster le fichier my.cnf en fonction de la configuration du serveur, tel que le paramètre innodb_buffer_pool_size, et fermer query_cache_size; 2. Créez un index approprié pour éviter les index excessifs et optimiser les instructions de requête, telles que l'utilisation de la commande Explication pour analyser le plan d'exécution; 3. Utilisez le propre outil de surveillance de MySQL (ShowProcessList, Showstatus) pour surveiller la santé de la base de données, et sauvegarde régulièrement et organisez la base de données. Ce n'est qu'en optimisant en continu ces étapes que les performances de la base de données MySQL peuvent être améliorées.
