Django db_index проблема - PullRequest
       12

Django db_index проблема

1 голос
/ 10 февраля 2010

В настоящее время у меня есть 3 модели, A, B и C

C имеет внешний ключ для B B имеет внешний ключ для A

class C(models.Model):
    name = models.CharField(max_length=50, db_index=True, unique=True)
    b = models.ForeignKey(B)
class B:
...similar to C
class A
...similar to C except for the FK

Однако SQL, созданный приложением manage.py sqlindexes, не создает индексы для C.name, B.name и A.name. Кто-нибудь знает, почему это происходит?

1 Ответ

1 голос
/ 10 февраля 2010

Мне кажется, это будет потому, что поля также имеют unique = True, так что я бы не слишком беспокоился об этом. Если у вас есть unique = True, то вы получите уникальный индекс (который может или не может быть реализован как индекс базы данных), поэтому я предполагаю, что Django просто игнорирует бит db_index = True.

Я получаю очень похожее поведение для одной из моих моделей, которая указана аналогичным образом. Какой вывод вы получаете при запуске manage.py sql app? Вы видите, как name поля создаются с UNIQUE?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...