BigInteger 与 fastapi 和 sqlmodel

Dar*_*dds 3 python sqlalchemy pydantic fastapi sqlmodel

我将 FastAPI 与 SQLModel 结合使用,它基于 pydantic、SQLAlchemy 和类型提示。我正在尝试创建一个BitIntegerint64就足够了)专栏。我怎么做?

我的 sql 模型声明看起来像这样

class ItemBase(sqlmodel.SQLModel):
    name: str
    price: int  


class Item(ItemBase, table=True):
    id: int = sqlmodel.Field(default=None, primary_key=True)


class ItemCreate(ItemBase):
    pass
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Mat*_*ndh 8

记录如何使 BigIntegers 与 SQLModel 一起使用的问题中:

id: int = Field(default_factory=next_val, sa_column=Column(BigInteger(), primary_key=True, autoincrement=False))
Run Code Online (Sandbox Code Playgroud)

您可能需要根据您的使用情况稍微调整它,但使用特定的 sqlalchemy 列类型似乎是正确的方法。