2017-03-31 86 views
1

我正在渲染項目列表及其相關評論。我使用prefetch_related,因此它不會爲每個項目的評論發出新的查詢。如何在prefetch_related後清除Django的緩存查詢

items = Item.objects.all().prefetch_related('reviews') 

後來,我添加評論並嘗試重新計算平均值:

item = items[0] 
Review.objects.create(item=item, score=5) 

# recalculate average 
reviews = item.reviews.all() 
... 

哦,不!該評論列表不包括我剛剛創建的評論列表。我怎樣才能清除這個緩存,以便查詢可以新鮮的執行?或者我應該以不同的方式創建評論?

+0

試試:'item.reviews.nocache()所有()' –

+0

你從哪裏得到這個?我沒有在文檔或源代碼中看到這樣的事情。 –

回答