Как ограничить нет. последовательных объектов с определенным свойством в django queryset? - PullRequest
1 голос
/ 03 февраля 2020

У меня есть модель:

class <b>Employee(models.Model):</b>
    name = models.CharField(max_length=255)
    department = models.ForeignKey("Department", ...)
    ......
    ...

Вот набор запросов, который возвращает наиболее эффективных сотрудников в компании, отсортированных по аннотированному полю score.

best = Employees.objects.filter(...some filters).annotate(score=...some calculations).order_by('-score')

Как ограничить набор запросов, чтобы он возвращал максимум 2 or n нет. последовательных сотрудников с одним и тем же отделом?

текущий результат: (только отдел печати для экономии времени)

dep5, dep9, dep9, dep9, dep9, dep5, dep5, dep4, dep4, dep4

Ожидаемый результат: (только отдел печати для экономии времени)

dep5, dep9, dep9, dep5, dep5, dep4, dep4

Примечание :

Я провел свое исследование и не смог найти никакого решения. Пожалуйста, помогите.

...