2012-02-17 14 views
2

に照会し、私は別のモデルへの外部キーを含むモデルています、私はmymodelというのインスタンスをキャッシュDjangoのSQL外部キー

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

イム私のテンプレートを持っている3つの異なる場所で、私はそれが絵のアクセスこのように属性は{{ mymodel.picture }}です。

私はdebug_toolbarを開くと、3つの異なるSQLクエリがデータベースに作成されたことがわかります。 Djangoは最初のクエリをキャッシュし、その後に提供するべきではありませんか?それは可能ですか?あなたがタグ{% with p = mymodel.picture %}...{% endwith %}で試すことができます

+0

はい、Djangoは最初の1の後にその検索をキャッシュする必要があります。何か他のことが起こっているはずです - 毎回同じ 'mymodel'インスタンスがあることを確信していますか? –

答えて

2
{% with picture = mymodel.picture %} 

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

{% endwith %}