Оптимизация запроса Django

У меня есть модель отзыва к фильму:

class Reviews(models.Model):
    """Отзыв к фильму"""

    email = models.EmailField(verbose_name="Почта")
    name = models.CharField('Имя', max_length=150, default='Не указано')
    text = models.TextField('Отзыв', max_length=5000)
    parent = models.ForeignKey('self', verbose_name='Родитель', on_delete=models.SET_NULL, blank=True, null=True)
    movie = models.ForeignKey(Movie, verbose_name='Фильм', on_delete=models.CASCADE)

На этот отзыв можно отвечать, для этого используется поле parent Подскажите пожалуйста, как правильно создать запрос, который выдаст все отзывы к фильму, и ответы на эти отзывы, если такие есть Пока что использую функцию в модели фильма

  def get_reviews(self):
        return self.reviews_set.filter(parent__isnull=True)

Пытаюсь с select_related и prefect_related правильно сформировать запрос, но этого не удается. Хочу получить следующий запрос:

SELECT *
FROM movie_reviews
LEFT JOIN movie_reviews AS mr
ON movie_reviews.id = mr.parent_id
WHERE movie_reviews.movie_id = 1 AND movie_reviews.parent_id IS NULL
Вернуться на верх