Django 4.1.2 unique=true не создает индекс?

Email = models.EmailField(max_length = 300, unique = True) 

Не удается создать индекс на sqlite 3.

В документации сказано, что unique = True создаст индекс. Но проверяя индексы на sqlite. Он не создается.

Документация

Most database backends will automatically create an index if the field is marked as unique. Indeed, in the source code [GitHub] we see:

def _field_should_be_indexed(self, model, field):
    return field.db_index and not field.unique

Таким образом, если поле помечено как уникальное, по умолчанию оно не будет индексироваться, поскольку база данных сама уже сделает это.

То же самое касается внешних ключей, для которых некоторые базы данных также автоматически создают индекс.

Most database backends will automatically create an index if the field is marked as unique. Indeed, in the source code [GitHub] we see:

def _field_should_be_indexed(self, model, field):
    return field.db_index and not field.unique

Таким образом, если поле помечено как уникальное, по умолчанию оно не будет индексироваться, поскольку база данных сама уже сделает это.

То же самое касается внешних ключей, для которых некоторые базы данных также автоматически создают индекс.

Вернуться на верх