如何在SQLAlchemy中设置自动增量值?

Far*_*tel 5 postgresql orm python sqlalchemy

这是我的代码:

    class csvimportt(Base):
     __tablename__ = 'csvimportt'

      #id = Column(INTEGER, primary_key=True, autoincrement=True)
      aid = Column(INTEGER(unsigned=True, zerofill=True),
          Sequence('article_aid_seq', start=1001, increment=1),
          primary_key=True)
Run Code Online (Sandbox Code Playgroud)

我想设置一个从 1000 开始的自动增量值。我该怎么做?

小智 2

来自 SQLAlchemy 1.2 文档

Postgresql 10 有一个新的 IDENTITY 功能,它取代了 SERIAL 的使用。对 IDENTITY 渲染的内置支持尚不可用,但是可以使用以下编译挂钩将出现的 SERIAL 替换为 IDENTITY:

from sqlalchemy.schema import CreateColumn
from sqlalchemy.ext.compiler import compiles


@compiles(CreateColumn, 'postgresql')
def use_identity(element, compiler, **kw):
    text = compiler.visit_create_column(element, **kw)
    text = text.replace("SERIAL", "INT GENERATED BY DEFAULT AS IDENTITY")
    return text
Run Code Online (Sandbox Code Playgroud)