Skip to main content

SQLModel

Primary Key w/ auto increment int

attr: int | None = Field(primary_key=True, default=None)

Primary Key

attr: str = Field(primary_key=True)

Nullable

attr: int | None = None

Non-Nullable

attr: int

Non-primitive data type such as datetime or Enum should explicitly assign nullable=False

attr: datetime = Field(nullable=False)

Non-Nullable with default

attr: int = Field(default=0)

Nullable Foreign Key

ext_id: int | None = Field(foreign_key="table.column", default=None)

Non-Nullable Foreign Key

ext_id: int = Field(foreign_key="table.column")

Non-Nullable Foreign Key with default

ext_id: int = Field(foreign_key="table.column", default=1)