Я сейчас создаю форум с django и хочу, чтобы каждый мог прокомментировать комментарий другого человека.Прямо сейчас у меня есть внешний ключ в моей модели «Комментарий», который указывает на себя, так что я могу легко получить родительский комментарий из любого комментария.
В моей теории это работало замечательно, потому что из любого комментария я мог получитьвсе его дочерние комментарии, а затем просто продолжайте переходить вниз, чтобы получить каждый отдельный дочерний комментарий.Однако у меня возникают проблемы с реализацией этого, когда дело доходит до получения данных из представления в шаблон.
Я хочу, чтобы было возможно иметь бесконечное количество дочерних комментариев, потому что кто знает, как долгообсуждение продлится, и я не хочу произвольно ограничивать его.Проблема, с которой я столкнулся, заключается в том, чтобы вы могли получить все эти комментарии из представления к шаблону, не теряя их связь с родительским комментарием?
В настоящее время так выглядит psuedocode для моего кода:
#the view
def comment_page(request, forum, comment_id):
#this is the main comment that all others will stem from
main_comment = Comment.objects.get(id=comment_id)
children_comments = main_comment.comment_set.all()
#the template
{% for comment in children_comments %}
<p class='comment'>{{comment}}</p>
{% endfor %}
Очевидно, что я даже не пытаюсь получить здесь все дочерние комментарии, он просто получает дочерние комментарии в самом первом посте.Чего я не понимаю, так это как я могу затем просмотреть каждый из этих дочерних комментариев, а затем получить все их комментарии и продолжать делать это для каждого нового комментария?
Наиболее разумно сделать это втак как я могу использовать API QuerySet Django там, но я не понимаю, как я смогу передать все комментарии к шаблону, не потеряв их отношения с родителем.Единственная идея, о которой я могу подумать, - это просмотреть все комментарии в представлении и создать строку html, которую я просто пропускаю и просто отображаю в шаблоне, но это кажется ужасной идеей, потому что она имеет дело ссвязанные с шаблоном вещи в представлении.