You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQLAlchemy 2.0中如何使用ORM定义序列名称?

SQLAlchemy 2.0 ORM中定义序列名称的方法

先回顾基础写法的对比:

  • Core定义普通主键列:
id = Column(Integer, primary_key=True)
  • SQLAlchemy 2.0 ORM的对应写法:
id: Mapped[int] = mapped_column(primary_key=True)
  • Core中指定序列名称的写法:
id = Column(Integer, Sequence('sequence_name'), primary_key=True)

在ORM里要实现同样的效果,直接把Sequence对象传给mapped_column即可,写法如下:

from sqlalchemy import Sequence
from sqlalchemy.orm import Mapped, mapped_column

id: Mapped[int] = mapped_column(Sequence('sequence_name'), primary_key=True)

补充说明

mapped_column是对Core层Column的封装,Core中Column支持的绝大多数参数(包括序列配置)都可以直接传递给mapped_column使用。

关于相关文档,SQLAlchemy官方文档中:

  • mapped_column的章节会明确它与Core Column的参数兼容性;
  • "Sequences"主题章节会同时覆盖Core和ORM两种场景下的序列配置方法。

内容的提问来源于stack exchange,提问作者glv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 20:12:02