В следующем примере мы создаём пользовательский индекс SQLModel по одному столбцу.
Вариант 1: Напрямую в поле
Это рекомендуется для индексов по одному столбцу из-за его простоты.
Просто добавьте параметр index=True к полю:
sqlmodel_custom_index.py
from sqlmodel import SQLModel, Field
class Offer(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
seller: str = Field(description="Name of the seller", index=True)Вы можете выбрать параметр name для UniqueConstraint по своему усмотрению. Он используется для именования ограничения в базе данных.
Вариант 2: Использование __table_args__
Это рекомендуется для многоколоночных индексов (также называемых составными индексами).
sqlmodel_custom_index.py
from sqlmodel import Index, SQLModel, Field
class Offer(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
seller: str = Field(description="Name of the seller")
url: str = Field(description="URL to the product page for this seller")
__table_args__ = (
Index('idx_seller', 'seller', 'url'),
)
Check out similar posts by category:
SQLModel Python Базы данных
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow