按一对多条目的数量排序

时间:2013-06-08 01:19:11

标签: django django-models

我有这样的模特:

class Forum(models.Model):
    title = models.CharField(max_length=100)

class Entry(models.Model):
    entry = models.TextField()
    good = models.BooleanField()
    f = models.ForeignKey(Forum)

我想列出所有论坛对象的排序方式[该论坛中的Entry对象数量令人满意= = True]。我怎么能用Django模型方法做到这一点?

1 个答案:

答案 0 :(得分:0)

试试这个

from django.db.models import Sum
result = Forum.objects.filter(entry__good=True).annotate(Sum('entry')).order_by('-entry__sum')

-entry__sum - 从大到小的良好进入顺序,如果需要从小到大的顺序,那么order_by('entry__sum')