Да, конечно. Django использует базу данных, поэтому при поиске по этим полям поиск получит выгоду от индекса базы данных.
Обратите внимание, что после создания таблицы syncdb
не будет добавлять индексы, даже если вы запустите ее снова после добавления db_index
к определению - вам нужно изменить определение таблицы непосредственно в оболочке базы данных. или используйте такой инструмент, как South.
Имейте в виду, что, как и большинство проблем масштабирования, они применяются только в том случае, если у вас статистически большое количество строк (10 000 невелико).
Кроме того, каждый раз, когда вы делаете вставку, индексы должны обновляться. Так что будьте осторожны, к какому столбцу вы добавляете индексы.