在Django中有效计算相关对象

时间:2015-10-12 19:26:53

标签: python django

所以,我需要提供一篇文章和大量的喜欢(文章模型是Like模型的ForeignKey字段),因为它是Django中render方法的上下文。 我这样做:

article = Article.objects.get(pk=some_id)
likes_amount = article.like_set.count()

所以问题是,有没有办法比两个查询更有效率,可能使用prefetch_related或聚合?

1 个答案:

答案 0 :(得分:0)

如果你想在一个回合计算所有文章的喜欢,试试这个:

func print(object: Any) {
Swift.print(object)
}

现在你可以得到这样一篇文章:

from django.db.models import Count
articles = Article.objects.annotate(num_likes=Count('like'))