Spec-Zone.ru › Django 2.1

Модель индекс справка

Классы индексов облегчают создание индексов баз данных. Их можно добавить, используя опцию Meta.indexes. В этом документе описываются API-справочники Index, которые включают параметры индекса.

Использование встроенных индексов

Индексы определяются в django.db.models.indexes, но для удобства они импортируются в django.db.models. Стандартная конвенция заключается в использовании from django.db import models и ссылке на индексы как на models.<IndexClass>.

Index параметры

class Index(fields=(), name=None, db_tablespace=None) [source]

Создает индекс (B-дерево) в базе данных.

fields

Index.fields

Список или кортеж имен полей, по которым требуется индекс.

По умолчанию индексы создаются с возрастающим порядком для каждого столбца. Чтобы определить индекс с убывающим порядком для столбца, добавьте дефис перед именем поля.

Например, Index(fields=['headline', '-pub_date']) создаст SQL с (headline, pub_date DESC). Порядок индексов не поддерживается в MySQL. В этом случае убывающий индекс создаётся как обычный индекс.

Изменено в Django 2.1:

Более старые версии не принимают кортеж.

name

Index.name

Имя индекса. Если name не указано, Django сгенерирует имя автоматически. Для совместимости с различными базами данных имена индексов не должны быть длиннее 30 символов и не должны начинаться с цифры (0-9) или символа подчеркивания (_).

db_tablespace

Index.db_tablespace
Новое в Django 2.0.

Имя пространства таблиц базы данных, которое следует использовать для этого индекса. Для индексов с одним полем, если db_tablespace не указано, индекс создаётся в db_tablespace поля.

Если Field.db_tablespace не указано (или если индекс использует несколько полей), индекс создаётся в пространстве таблиц, указанном в опции db_tablespace внутри модели class Meta. Если ни один из этих пространств таблиц не установлен, индекс создаётся в том же пространстве таблиц, что и таблица.

См. также

Список индексов, специфичных для PostgreSQL, см. в django.contrib.postgres.indexes.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/2.1/ref/models/indexes/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API