Как повысить производительность при визуализации данных из базы данных на сайте администратора django? - PullRequest
1 голос
/ 27 мая 2011

Это мои первые шаги с django, поэтому, пожалуйста, не обижайтесь, если это кажется тривиальным.

У меня очень большая таблица mynames (~ 1 000 000 записей), и я хочу сделать эту таблицу редактируемой на административном сайте django. Я подключил вещи, как описано в официальной книге django: у меня есть модель, и я зарегистрировал ее по admin.site.register(mymodel). Я могу видеть «таблицу» на моем административном сайте, и я могу щелкнуть по ней, чтобы увидеть первую страницу, полную имен. Это хорошо, пока. Как только я нажимаю на кнопку «показать следующую страницу» внизу страницы, запрос кажется бесконечным.

Где может быть проблема?

Обновление:

Я добавил индекс в соответствующий столбец, и теперь он работает быстро. Я думал, делая

name = models.CharField(max_length=100, db_index=True, unique=True)

в определении модели будет индекс для этого столбца. Но не было ни одного. Единственный уникальный индекс. Так и должно быть, или я что-то пропустил?

1 Ответ

0 голосов
/ 30 мая 2011

Было бы легче увидеть, в чем проблема, если вы вставили свой полный класс модели.Есть ли указанный порядок на столе?Если это так, вам нужно создать соответствующий индекс для быстрого разбивки на страницы в этом поле.Установлен ли атрибут list_display в классе ModelAdmin для модели?По умолчанию django должен упорядочивать строки на основе первичного ключа, поэтому вам не нужен дополнительный индекс.Также проверьте, не переопределили ли вы метод __unicode__ для модели таким образом, который вызывает дополнительные обращения к базе данных при отображении сущности в таблице администраторов django?

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