在Django中注释多对多的关系

时间:2015-07-21 11:46:23

标签: python django django-models

我有两个型号User和VideoData。这两个模型包含每个用户的详细信息以及该用户观看的视频。我使用了多对多的关系。现在我想根据用户数量过滤前10个视频。

import sys
sys.path.append("..")
import foo

foo.do1()

如何为前10个视频和观看这些视频的用户数量进行注释?

1 个答案:

答案 0 :(得分:3)

使用django ORM中的Count函数:

    VideoData.objects.annotate(
        watches_count=models.Count('user_set')
    ).order_by('-watches_count')[:10]