1. Приветствую !
    Давно столкнулся с проблемой большого количества запросов, которые появляются в основном из шаблонов.
    К примеру есть простая модель Example, содержащая поля user = ForeignKey(User), text = Textfield()
    Для шаблона делаю запрос Example.objects.all()[:10]
    В шаблоне примерно так:
    {% for i in objects %}
    {{i.user}}<br /> {{i.text}}
    {% endfor %}
    После выполнения запроса, я получаю 20 запросов(т.е. в 2 раза больше чем самих элементов) вида
    SELECT "auth_user"."id", "auth_user"."username", "auth_user"."first_name", "auth_user"."last_name", "auth_user"."email", "auth_user"."password", "auth_user"."is_staff", "auth_user"."is_active", "auth_user"."is_superuser", "auth_user"."last_login", "auth_user"."date_joined" FROM "auth_user" WHERE "auth_user"."id" = %s 
    Как бы это упростить, и вообще, каким образом можно сократить количество запросов из шаблона ?
  2. Imbolc

    18.06.2009

    0 ↑
    0 ↓

    {% for i in objects.select_related %} ?:)

  3. можно еще во вьюхе выбрать все сразу, что-то вроде:
    objects = list(objects.select_related())
    будет 1 запрос (а в шаблоне запросов не будет совсем), только все 10 записей сразу в память загрузятся
  4. Ок, спасибо, частично это уменьшило запросы.
    А как быть с get_profile в шаблоне ?

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.