SQLAlchemy - 使用 ORM 定义序列

问题描述 投票:0回答:1

如何定义具有核心的列的示例可以是:

id = Column(Integer, primary_key=True)

在 SQLAlchemy 2.0 中使用 orm 定义同一列的类似方法是:

id: Mapped[int] = mapped_column(primary_key=True)

但是如果我们需要定义一个序列名称怎么办?有了核心,我们就可以:

id = Column(Integer, Sequence('sequence_name'), primary_key=True)

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

mapped_column 中似乎不存在“sequence”属性。

有谁知道如何做或如何在文档中找到它?

非常感谢。

sqlalchemy orm
1个回答
0
投票

根据我的经验,您通常将

Core's Sequence
功能集成到 ORM 模型定义中,从而允许您为主键或其他自动递增字段指定自定义序列名称。

它看起来像这样:

from sqlalchemy import Column, Integer, Sequence
from sqlalchemy.orm import declarative_base

Base = declarative_base()

class MyModel(Base):
    __tablename__ = 'my_model'
    
    id = Column(Integer, Sequence('sequence_name'), primary_key=True)
© www.soinside.com 2019 - 2024. All rights reserved.