Вы получаете средний рейтинг по каждому обзору, который, конечно, просто даст вам оценку за этот обзор, поскольку у каждого обзора есть только один рейтинг. Среднее число одного числа - это просто число.
Я думаю, что вы хотите получить среднее значение для всех оценок фильма. Поэтому вам нужен запрос, который выглядит примерно так:
Flim.objects.annotate(avg_rating=Avg('review_set__rating')).order_by('-avg_rating')
Кроме того, вы можете изменить имя review_set
(по умолчанию для поиска по внешнему ключу, если не установлено связанное имя) на любое другое вы хотите, установив related_name='reviews'
или как хотите, чтобы он вызывался в определении FK.
Итак:
reviewed_film = models.ForeignKey(Film, related_name='reviews', on_delete=models.CASCADE)
ETA: если вы сделаете это изменение, ваш запрос станет:
Flim.objects.annotate(avg_rating=Avg('reviews__rating')).order_by('-avg_rating')