Справочник по индексам модели
Классы индексов упрощают создание индексов в базе данных. Их можно добавить, используя параметр Meta.indexes. В этом документе описываются API-справочные материалы Index, включающие параметры индексов.
Использование встроенных индексов
Индексы определяются в django.db.models.indexes, но для удобства они импортируются в django.db.models. Стандартная конвенция состоит в использовании from django.db import models и обращении к индексам как к models.<IndexClass>.
Index параметры
-
class Index(fields=[], name=None)[source] -
Создаёт индекс (B-дерево) в базе данных.
fields
-
Index.fields
Список имён полей, по которым должен быть создан индекс.
По умолчанию индексы создаются с возрастающим порядком для каждого столбца. Чтобы определить индекс с убывающим порядком для столбца, добавьте тире перед именем поля.
Например, Index(fields=['headline', '-pub_date']) создаст SQL с (headline, pub_date DESC). Порядок индексов не поддерживается в MySQL. В этом случае убывающий индекс создаётся как обычный индекс.
Поддержка упорядочивания столбцов в SQLite
Поддержка упорядочивания столбцов поддерживается в SQLite 3.3.0+ и только для некоторых форматов файлов баз данных. Подробности см. в документации SQLite.
name
-
Index.name
Имя индекса. Если name не указано, Django сгенерирует имя автоматически. Для совместимости с различными базами данных имена индексов не могут быть длиннее 30 символов и не должны начинаться с цифры (0-9) или подчёркивания (_).
См. также
Список PostgreSQL-специфичных индексов см. в django.contrib.postgres.indexes.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.11/ref/models/indexes/