Постройте запрос для получения сгруппированного среднего значения кратных экземпляров

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

class Club(models.Model):
   club_tag = models.CharField(primary_key=True)

class Player(models.Model):
   rating = models.FloatField(default=0)
   club = models.ForeignKey(Club, ...) 

Моя цель - получить топ-10 клубов с лучшими игроками среднего рейтинга, в порядке убывания.

В этой ситуации клуб имеет средний рейтинг (который является средним рейтингом его игрока) и благодаря этому занимает место в рейтинге.

Мне трудно понять, как выполнить этот запрос, может кто-нибудь дать мне указания, пожалуйста? Спасибо

Я думаю, что я понял это, так что вот решение :

Club.objects.annotate(avg_bcr=Avg("player__rating")).order_by("-avg_bcr")[:10]
Вернуться на верх