Im folgenden Beispiel erstellen wir einen benutzerdefinierten SQLModel-Index über einer einzelnen Spalte.
Option 1: Direkt im Feld
Dies wird für einspaltige Indizes aufgrund seiner Einfachheit empfohlen.
Füge einfach den index=True-Parameter zum Feld hinzu:
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)Du kannst den name-Parameter von UniqueConstraint nach Belieben wählen. Er wird verwendet, um die Einschränkung in der Datenbank zu benennen.
Option 2: Verwendung von __table_args__
Dies wird für mehrspaltige Indizes (auch zusammengesetzte Indizes genannt) empfohlen.
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'),
)Wenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen