2017-03-31 5 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

はどこからこれを得ていますか?私はドキュメンテーションやソースコードにそのようなことは見ません。 –

答えて

関連する問題