Как оптимизировать и реализовать бесконечные комментарии через 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? Но я также думаю проверить наличие _комментария и добавить предварительную выборку, но я не знаю как