Здравствуйте, уважаемое сообщество. Столкнулся с проблемой, уповаю на ваши всеобъемлющие знания.
Суть проблемы:
Есть вот такие модели приложения каталога книг (elcat):
1.
# Таблица с книгами
class book(models.Model):
book_id = models.BigIntegerField(primary_key=True, unique=True)
name = models.CharField(max_length=512)
...
author_id = models.ManyToManyField('author')
...
2.
#Таблица с авторами
class author(models.Model):
author_id = models.BigIntegerField(primary_key=True)
name = models.CharField(max_length=512)
3. Таблица сгененированная фреймворком Django:
Количество записей в таблицах:
elcat_book = 121525
elcat_author = 49832
Когда работаешь с книгой в стандартном административном интерфейсе Django, то загрузка страницы с книгой происходит довольно медленно, видимо это из-за того, что загружаются все записи из таблицы 'elcat_author' в поле 'elcat_book.author_id'.
Пробовал воспользоваться рекомендацией из книги The Definitive Guide to Django:
filter_horizontal = (author_id',)
, но в этой ситуации загрузка не становится быстрее и кроме этого очень часто JavaScript-сценарий реализующий filter_horizontal совсем перестает работать и броузер приходится принудительно выключать.
Возможно мне может помочь raw_id_fields , но я так и не смог понять будет ли он работать для ManyToManyField.
Прошу вас подсказать, можно и в общих словах, как возможно решить подобную проблему. Если, вы сталкивались с подобным (медленная скорость работы) и решили это внешними приложениями, то прошу подсказать какими. Так же не откажусь от ссылок на умные статьи, где подобное разжевано.
---------------------------------
Версия Django = VERSION = (1, 6, 0, 'final', 0);
python = 2.7.1;
MySQL = '5.6.13-log'.
Все работает на Windows 7 (x64) Pro.