В документах djangoproject упоминается следующее:
Note that the select_related() QuerySet method recursively prepopulates the cache of all one-to-many relationships ahead of time. Example:
>>> e = Entry.objects.select_related().get(id=2)
>>> print(e.blog) # Doesn't hit the database; uses cached version.
>>> print(e.blog) # Doesn't hit the database; uses cached version.
Является ли рекурсивное предварительное заполнение кэша заблаговременно более эффективным, чем если бы это не было сделано? А что, если у Entry будет другое отношение, скажем, к объекту X, будет ли объект X также кэшироваться заранее? Другими словами, будут ли кэшироваться все поля связанных объектов, которыми может обладать Entry?