Зазвичай Django дозволяє лише створювати унікальні індекси за допомогою вказавши unique=True у полі моделі. Хоча його можна використовувати на будь-якій моделі Django, він найбільш корисний для представлень і матеріалізованих представлень, де unique=True не працює.

Завдяки моделям і системі міграції Django Framework має можливість створювати для нас індекси. Якщо ви розробили програму Django, можливо, у вас уже є деякі індекси, наприклад Django автоматично створює для вас певні індекси.

Кілька полів бази даних використовуються для створення індексів. Основний ключ або ключ-кандидат таблиці дублюється в першому стовпці, який є ключем пошуку. Щоб прискорити пошук даних, значення також зберігаються в порядку сортування. Слід підкреслити, що сортувати дані не потрібно.

Django автоматично створює індекси для деяких полів. Наприклад, у документації для зовнішніх ключів зазначено: індекс бази даних автоматично створюється на ForeignKey. Ви можете вимкнути це, встановивши для db_index значення False.

Індексація в Python починається з 0, що означає, що перший елемент у послідовності має індекс 0, другий елемент має індекс 1 і так далі. Наприклад, якщо у нас є рядок «Hello», ми можемо отримати доступ до першої літери «H», використовуючи її індекс 0, використовуючи позначення в квадратних дужках: string[0] .