常见的 ORM 工具

FastAPI 本身不强制绑定任何 ORM,但社区里最常用、最成熟的主要是这几个:

  1. SQLAlchemy(首选,最经典)

定位:Python 生态里最老牌、最强大的 ORM。

特点:支持同步和异步(1.4+ 版本),文档巨多,几乎所有 FastAPI 官方示例都用它。

适合谁:新手入门首选,想找资料、问问题最容易。

复制代码
# 典型的 SQLAlchemy 模型
class User(Base):
    __tablename__ = "users"
    id = Column(Integer, primary_key=True)
    name = Column(String)
  1. Tortoise-ORM(异步首选)

定位:专为异步(async/await)设计的 ORM,灵感来自 Django ORM。

特点:语法简洁,跟 FastAPI 的异步风格天然吻合,性能更好。

适合谁:已经熟练 async/await,想榨干性能的开发者。

复制代码
# Tortoise-ORM 模型,一看就懂
class User(Model):
    id = fields.IntField(pk=True)
    name = fields.CharField(max_length=50)
相关推荐
CaffeinePro1 天前
Pydantic深度使用:数据校验、枚举、ORM映射
后端·fastapi
倔强的石头_1 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab2 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence2 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神2 天前
三、用户与权限管理
数据库·mysql
LDR0063 天前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术3 天前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园3 天前
C++20 Modules 模块详解
java·开发语言·spring
swordbob3 天前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享3 天前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm