Spec-Zone.ru › Django 1.11

Справочник по индексам модели

Новое в Django 1.11.

Классы индексов упрощают создание индексов в базе данных. Их можно добавить, используя параметр 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/

Spec-Zone.ru

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