Так что я пытаюсь получить список записей в блоге, который имеет внешний ключ к автору:Django - Как я могу остановить этот запрос повторения?
На мой взгляд:
data = {'entries':Entry.objects.all()}
Тогда в моем шаблоне:
<td valign="top">{{ entry.author }}</td>
Это приводит к удалению базы данных по одной записи для получения деталей авторов. Я это понимаю, но когда автор тот же, есть ли способ «кешировать» результат? Например, если одна запись имеет отношение «1» автора, я могу сохранить результаты, поэтому, если какие-либо другие записи имеют одно и то же отношение автора, ему не нужно снова удалять базу данных?
Я уверен, что это должно быть возможно, но я не могу найти упоминания об этом в документации :(
Уверен, но это сделает объединение для каждого запроса. Не помогает. – Hanpan
@Hanpan: 'Entries.objects.all(). Select_related ('author')' будет делать одно дополнительное соединение, чтобы вытащить 'Author 'table, но гарантирует, что не будет никаких дополнительных запросов, пока вы повторяете записи в своем шаблоне.Так, да, это действительно поможет. – sdolan
Странно, просто использование select_related не сработало, но select_related ('author'). Извините за мое невежество! – Hanpan