2012-02-17 163 views
2

我有一個包含一個外鍵,不同模型的模型:緩存Django的SQL查詢外鍵

class MyModel(models.Model): 
    ... 
    picture = models.ForeignKey(Picture) 
    ... 

林我的模板,我已經爲MyModel並在三個不同的地方一個實例訪問它的圖片以這種方式屬性{{ mymodel.picture }}

當我打開debug_toolbar時,我發現有三個不同的SQL查詢是對數據庫進行的。 Django不應該緩存第一個查詢並在之後提供它嗎?是否有可能這樣做?

+0

是的,應該的Django後的第一個緩存這些查找。還有其他一些事情正在發生 - 你確定每次都有相同的'mymodel'實例嗎? – 2012-02-17 17:24:30

回答

2
{% with picture = mymodel.picture %} 

My Picture Size Large {{ picture }} 
My Picture Size Medium {{ picture }} 
My Picture Size Small {{ picture }} 

{% endwith %}