Я разработал упрощенную систему проводки и комментариев, где каждый объект посткомментации связан с соответствующим объектом newpost с использованием внешнего ключа. Моя проблема заключается в том, что комментарии в шаблоне не отображаются под соответствующим объектом newpost. Например, если в каждом сообщении имеется 3 новых адреса и 3 комментария, в общей сложности 9 комментариев, шаблон отображает все 9 комментариев под каждым 3 сообщениями (всего 27 комментариев). Мне нужна помощь в выяснении того, как правильно связать каждый комментарий с соответствующим сообщением, а не просто прокручивать поле «allcomments» под каждым сообщением. Спасибо за любую помощь и подсказки.Django: Как связать комментарий с соответствующим OP в HTML-шаблоне?
postset = pagename.newpost_set.all().order_by('-postdate') #i use this to get a queryset of all posts on the selected page and order them so newest posts show up at the top
allposts = newpost.objects.filter(newposttag=‘userpage’) #i use this to get a queryset of all posts on the corresponding user’s page for the next line, this might seem redundant after the above, but it works because the postset is what I end up using in the template.
allcomments = postcomment.objects.filter(commenttag=allposts) #i use this to get a queryset of all the comments from each post in the ‘allposts’ queryset
Вот мой шаблон для отображения вышеуказанной информации, что я приобрел
{% for postset in postset %}
<br>{{ postset.postcontent }} {{postset.postdate }} - {{ postset.postlikes }} likes <a href="/enterlink/comment">Comment</a></br>
{% for allcomments in allcomments %}
<br> {{ allcomments.comment }} {{allcomments.postcommentdate }} - {{ allcomments.commentlikes}}
{% endfor %}
{% endfor %}
Можете ли вы вкратце объяснить логику этого? Я изо всех сил пытаюсь понять, как это принципиально отличается от того, что у меня было до этого, и почему оно решило проблему. Спасибо – EazyC
В вашем шаблоне вы запускаете внутренний цикл for на 'allcomments' для каждого сообщения. Это была главная проблема. Кстати, я просто редактировал имена переменных, чтобы сделать их более понятными. – iuysal
А также, я предполагаю, что в вашей модели комментариев у вас есть поле типа 'post = models.ForeignKey (newpost)' – iuysal