Skip to content

SQLAlchemy 2.0:现代 Python ORM 模式

作者 TechLog Admin 1 min read

SQLAlchemy 2.0:现代 Python ORM 模式

SQLAlchemy 2.0 引入了统一的 API,结合了 ORM 和 Core 的最佳特性。

新方式

带类型注解的声明式模型

from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column

class User(Base):
    __tablename__ = "users"
    id: Mapped[int] = mapped_column(primary_key=True)
    name: Mapped[str] = mapped_column(String(100))

异步会话

from sqlalchemy.ext.asyncio import AsyncSession

async with AsyncSession(engine) as session:
    result = await session.execute(select(User))
    users = result.scalars().all()

从 1.x 的重要变化

  • Session.execute() 现在是主要查询接口
  • select() 替代了 Query API
  • Mapped[] 替代了 Column 注解
SQLAlchemy 2.0 代表了一个成熟、设计精良的 ORM。

本文也提供以下语言版本:

评论

加载评论中...

相关文章

后端开发

使用 FastAPI 构建可扩展 API:完整指南

使用 FastAPI 构建可扩展 API FastAPI 已成为构建现代 API 最受欢迎的 Python 框架之一。让我们探讨它的独特之处以及如何有效使用。 为什么选择 FastAPI? FastAPI 提供了几个引人注目的特性: - 高性能 — 与 Node.js 和 Go 相当 - 自动文档 — 内置 Swagger UI 和 ReDoc - 类型安全 — 基于 Python 类型提示 -...

2026-06-02
2 tags 1 min
后端开发

深入理解 PostgreSQL 全文搜索

深入理解 PostgreSQL 全文搜索 PostgreSQL 内置的全文搜索功能强大且常被低估。 为什么不用 Elasticsearch? 对许多应用来说,PostgreSQL 内置搜索已经足够。它消除了维护单独搜索集群的运维负担。 工作原理 PostgreSQL 使用 tsvector 和 tsquery 数据类型: CREATE INDEX idx_fts ON articles...

2026-06-02
1 tags 1 min
后端开发

使用 Express.js 构建 RESTful API

使用 Express.js 构建 RESTful API Express.js 仍然是最流行的 Node.js Web API 框架之一。 项目设置 mkdir my-api && cd my-api npm init -y npm install express cors helmet 应用结构 按功能组织代码,而不是按技术角色: src/ ├── routes/ # 路由定义...

2026-06-02
1 tags 1 min