查询Django中的前x元素

查询Django中的前x元素,django,django-models,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 谢谢您只需在Em

我有两个这样的模型

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

class Employer(models.Model): 
     jobtitle = models.ForeignKey(JobTitle,unique=False,null=True)
正如你所见,一个雇主可能有许多职位。我试着做一个查询,找出职位最多的前五名雇主

我怎么才能找到这是Django


谢谢

您只需在
Employer
表中计算行数即可。你需要分组。在这种模式下,一个雇主如何拥有多个职位?雇主的其他领域在哪里?这只是一个外键吗?@SeanEd Man我猜他的意思是许多
雇主
可以拥有相同的
职位
。更好的是:
Employer.objects.values('id').annotate(jobtitle_count=Count('jobtitle')).order_by('-jobtitle_count')[:5]
from django.db.models import Count

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