Как заказать по совокупности с условиями на полях отношения - PullRequest
0 голосов
/ 26 июня 2010

Мой код:

class School(models.Model): pass

class Student(models.Model):
    school = models.ForeignKey(School)
    TYPE_CHOICES = (
        ('ug', 'Undergraduate'),
        ('gr', 'Graduate'),
        ('al', 'Alumnus'),
    )
    type = models.CharField(max_length=2)

Как получить QuerySet of Schools, заказанный по количеству студентов бакалавриата?

1 Ответ

0 голосов
/ 26 июня 2010
from django.db.models import Count
School.objects.filter(student__type='ug').annotate(
                      num_students=Count('student')
                     ).order_by('num_students')

См. документацию о взаимосвязи между aggregate и filter предложениями.

...