FastAPI 本身不强制绑定任何 ORM,但社区里最常用、最成熟的主要是这几个:
- SQLAlchemy(首选,最经典)
定位:Python 生态里最老牌、最强大的 ORM。
特点:支持同步和异步(1.4+ 版本),文档巨多,几乎所有 FastAPI 官方示例都用它。
适合谁:新手入门首选,想找资料、问问题最容易。
# 典型的 SQLAlchemy 模型
class User(Base):
__tablename__ = "users"
id = Column(Integer, primary_key=True)
name = Column(String)
- 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)