У меня есть модель, которая содержит внешний ключ другой модели:Кэширование Django SQL запросы на внешних ключах
class MyModel(models.Model):
...
picture = models.ForeignKey(Picture)
...
Im мой шаблон, у меня есть экземпляр MyModel и в трех разных местах, я доступ это фото атрибут таким образом {{ mymodel.picture }}
.
Когда я открываю debug_toolbar, я вижу, что в базу данных были внесены три разных SQL-запроса. Должен ли Django кэшировать первый запрос и обслуживать его потом? Можно ли это сделать?
Да, Django должен кэшировать, что поиск после первого. Что-то еще должно продолжаться - вы уверены, что каждый раз вы используете один экземпляр 'mymodel'? –