2017-04-12 1 views
0

Ich möchte die Indizierung zu einem bereits vorhandenen Django-Modellfeld hinzufügen, indem ich db_index = True hinzufüge. Die entsprechende Tabelle enthält bereits viele Daten in der Datenbank. Fügt das Feld db_index = True zu dem Feld hinzu, indiziert es automatisch die Werte nach der Migration mit den neuen Änderungen?Hinzufügen db_index = True zu einem Django-Modell, das bereits viele Daten enthält

+0

Es sollte funktionieren. aber machen Sie zuerst eine Datenbanksicherung. Eventuell müssen Sie Ihr 'db_index = models.BooleanField (default = True) hinzufügen' – Tushortz

Antwort

0

Idealerweise ja. Dies würde einen Index in Ihrer SQL-Tabelle erstellen. Wann immer Sie Ihre migrations ausführen, würde Ihre Tabelle den Index hinzugefügt haben.

Wenn Sie es hartcodieren möchten, können Sie es in Ihrem Migrationsskript hinzufügen, indem Sie es in Ihrer Weiterleitungsmethode hinzufügen. Es würde wahrscheinlich in etwa so aussehen

db.execute("CREATE INDEX my_index on table_name(col_name)", params=[]) 
+0

Die db hat den Index nach der Migration hinzugefügt, nachdem db_index = True hinzugefügt wurde. –

Verwandte Themen