Как оптимизировать и реализовать бесконечные комментарии через prefetch в django orm?

Я реализую функцию комментариев и могу оставить большое сообщение в комментариях. Реализовать функцию было легко, но она вызывает n+1 запросов. Пожалуйста, подскажите, как решить эту проблему

python

Prefetch(
                'comments',
                queryset=PlaceReviewComment.objects.select_related(
                    'user',
                ).prefetch_related(
                    Prefetch(
                        '_comments',
                        queryset=PlaceReviewComment.objects.select_related(
                            'user',
                            'parent_comment',
                        ).prefetch_related(
                            '_comments',
                            '_comments__user',
                        ).filter(
                            removed_at__isnull=True
                        ),
                        to_attr='child_comments'
                    ),
                ).filter(parent_comment=None, removed_at__isnull=True),
                to_attr='_comments'
            ),
        ).filter(
            id=review_id,

Если я сделаю это, то получу только один комментарий глубины. Должен ли я реализовать функцию, которая делает prefetch так же, как и depth? Но я также думаю проверить наличие _комментария и добавить предварительную выборку, но я не знаю как

Вернуться на верх