【问题标题】:Sorting based on the count in a related field in Django根据Django中相关字段中的计数进行排序
【发布时间】:2010-02-28 23:56:33
【问题描述】:

我有两个模型,ImageTag。每个 Image 对象可以有多个与之关联的 Tag,我想找到我最常用的标签。我该怎么办?这似乎很容易,但我似乎无法弄清楚。

【问题讨论】:

    标签: python sql django relational-algebra


    【解决方案1】:

    Django(仅在最近)获得了 Aggregate 支持,所以现在您可以执行以下操作:

    from django.db.models import Count
    Tag.objects.annotate(img_count=Count('image')).order_by('img_count')
    

    【讨论】:

    • 我认为这是计算图像数量而不是标签数量......但我知道你要去哪里。
    • 这个非常接近你的解决方案成功了:Tag.objects.annotate(img_count=Count('image')).order_by('img_count') ...你能更新你的答案吗?我会把它标记为正确的。
    • 我已经修改了我的原始代码,很抱歉混淆了变量:)
    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2017-06-18
    • 1970-01-01
    相关资源
    最近更新 更多