Подтвердить что ты не робот

Запрос для верхних элементов x в Django

У меня есть две модели такие, что

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

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

Как вы видите, у одного работодателя может быть много рабочих мест. Я пытаюсь сделать запрос, чтобы получить топ-5 работодателей, количество наименований рабочих мест максимально

Как я могу достичь этого Django?

Спасибо

4b9b3361

Ответ 1

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

Ответ 2

from django.db.models import Count

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