如何在 sqlmodel 中自动生成主键列

为了在 SQLModel 中自动生成主键列,你需要添加 Optional[int] 列(这样你就不必显式指定值),并设置 default=Noneprimary_key=True

sqlmodel_autogen_pk_example.py
id: Optional[int] = Field(default=None, primary_key=True)

完整示例

sqlmodel_autogen_pk.py

from sqlmodel import Field, SQLModel, create_engine, Session, select

class Hero(SQLModel, table=True):
    # The "id" column with autoincrement is our primary key
    id: Optional[int] = Field(default=None, primary_key=True)
    name: str
    secret_name: str

Check out similar posts by category: Python, Pydantic, SQLModel