Постройте запрос для получения сгруппированного среднего значения кратных экземпляров
У меня есть две модели :
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]