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)