如何在 prefetch_related 后清除 Django 的缓存查询
How to clear Django's cached query after prefetch_related
我正在呈现一个项目列表及其相关评论。我使用了 prefetch_related,因此它不会针对每个项目的评论发出新查询。
items = Item.objects.all().prefetch_related('reviews')
稍后,我添加了评论并尝试重新计算平均值:
item = items[0]
Review.objects.create(item=item, score=5)
# recalculate average
reviews = item.reviews.all()
...
哦不!此评论列表不包括我刚刚创建的评论。如何清除此缓存以便可以重新执行查询?还是我应该以不同的方式创建评论?
prefetch_related(None)
来源:https://docs.djangoproject.com/en/2.0/ref/models/querysets/
我正在呈现一个项目列表及其相关评论。我使用了 prefetch_related,因此它不会针对每个项目的评论发出新查询。
items = Item.objects.all().prefetch_related('reviews')
稍后,我添加了评论并尝试重新计算平均值:
item = items[0]
Review.objects.create(item=item, score=5)
# recalculate average
reviews = item.reviews.all()
...
哦不!此评论列表不包括我刚刚创建的评论。如何清除此缓存以便可以重新执行查询?还是我应该以不同的方式创建评论?
prefetch_related(None)
来源:https://docs.djangoproject.com/en/2.0/ref/models/querysets/