如何在 prefetch_lated 之后清除 Django 的缓存查询

Nic*_*ack 4 django-orm

我正在呈现一个项目列表及其相关评论。我使用了 prefetch_lated 因此它不会对每个项目的评论发出新的查询。

items = Item.objects.all().prefetch_related('reviews')
Run Code Online (Sandbox Code Playgroud)

后来,我添加了评论并尝试重新计算平均值:

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

# recalculate average
reviews = item.reviews.all()
...
Run Code Online (Sandbox Code Playgroud)

不好了!此评论列表不包括我刚刚创建的评论列表。如何清除此缓存以便可以重新执行查询?或者我应该以不同的方式创建评论?

fjs*_*jsj 5

prefetch_related(None)

来源: https: //docs.djangoproject.com/en/2.0/ref/models/querysets/