查询Django中的前x个元素

时间:2011-06-22 08:23:06

标签: django django-models

我有两个模型

class JobTitle(models.Model):
     name = models.CharField(max_length=1000)

class Employer(models.Model): 
     jobtitle = models.ForeignKey(JobTitle,unique=False,null=True)

如你所见,一个雇主可能有很多职位。我试图询问前五名雇主的职位数量最多的雇主

我怎么能得到这个是Django?

由于

2 个答案:

答案 0 :(得分:42)

Employer.objects.values('id').annotate(jobtitle_count=Count('jobtitle')).order_by('-jobtitle_count')[:5]

答案 1 :(得分:3)

from django.db.models import Count

Employer.objects.annotate(Count('jobtitle')).order_by('-jobtitle__count')[:5]