FastApi学习第三天:FastAPI用Tortoise ORM案例和创建模型

在这里插入图片描述

让我们一起走向未来

🎓作者简介:全栈领域优质创作者
🌐个人主页:百锦再@新空间代码工作室
📞工作室:新空间代码工作室(提供各种软件服务)
💌个人邮箱:[15045666310@163.com]
📱个人微信:15045666310
🌐网站:https://meihua150.cn/
💡座右铭:坚持自己的坚持,不要迷失自己!要快乐


FastAPI用Tortoise ORM详细案例

在这里插入图片描述

这个案例将包括创建数据模型、数据库操作以及整合 FastAPI 应用的步骤。

1. 创建数据模型

首先,我们需要定义数据模型。在 models.py 文件中,我们定义了一个 User 模型,它包含了基本的用户信息字段:

from tortoise 
### FastAPI 中使用 Aerich 进行数据库迁移的设置与使用 Aerich 是一个用于 Tortoise-ORM 的 Alembic 替代工具,支持异步 ORM 数据库迁移。以下是关于如何在 FastAPI 项目中集成并使用 Aerich 来管理数据库迁移的相关说明。 #### 安装依赖 首先,在项目的环境中安装所需的依赖项: ```bash pip install fastapi uvicorn tortoise-orm aerich ``` #### 配置 Tortoise-ORM Aerich Tortoise-ORM 是 Aerich 所基于的 ORM 工具。为了使两者协同工作,需正确配置 `tortoise_orm` 设置: 创建一个名为 `config.py` 或类似的文件来定义数据库连接参数以及模型路径: ```python from typing import Dict, Any TORTOISE_ORM: Dict[str, Any] = { "connections": {"default": "sqlite://db.sqlite3"}, # SQLite 示例;可以替换为其他数据库 URL "apps": { "models": { "models": ["app.models", "aerich.models"], # 添加应用中的模型模块默认的 Aerich 模型 "default_connection": "default", } }, } ``` 在此处,“`app.models`”应指向实际存储数据表模型的位置。 #### 初始化 Aerich 并生成初始迁移脚本 运行以下命令初始化 Aerich,并为其提供必要的信息以便跟踪更改: ```bash aerich init --tortoise-config config.py aerich init-db ``` 第一条指令会建立一个新的目录结构用来保存版本历史记录其他元数据;第二条则依据现有模式构建首个基线状态。 当有新的字段被加入到某个类或者整个新实体被引入时,则再次执行下面的操作以反映这些改动至物理层面上去。 ```bash aerich migrate aerich upgrade ``` 以上过程实现了从逻辑设计图谱向具体关系型储存介质转化的功能[^1]。 #### 实际案例展示 假设我们有一个简单的 User 表格定义如下所示: ```python # app/models.py from tortoise import Model, fields class User(Model): id = fields.IntField(pk=True) username = fields.CharField(max_length=50, unique=True) password_hash = fields.CharField(max_length=128) class Meta: table = 'users' def __str__(self): return self.username ``` 完成上述步骤之后就可以通过标准流程来进行后续操作了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百锦再@新空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值