2017-03-31 1 views
1

Je rends une liste d'éléments avec leurs commentaires connexes. J'ai utilisé prefetch_related pour qu'il n'émette pas de nouvelle requête pour les critiques de chaque élément.Comment faire pour effacer la requête en cache de Django après prefetch_related

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

Plus tard, j'ajouter un commentaire et essayer de re-calculer la moyenne:

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

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

Oh non! Cette liste d'avis n'inclut pas celle que je viens de créer. Comment puis-je effacer ce cache afin que la requête peut être effectuée fraîche? Ou devrais-je créer la révision différemment?

+0

essayer. 'Item.reviews.nocache() tout()' –

+0

Où allez-vous obtenir ce à partir? Je ne vois pas une telle chose dans la documentation ou le code source. –

Répondre