내가 코멘트 한 모든 이야기에 사용자가 올린 모든 댓글의 목록을 표시하려고합니다. 현재 내가이 있습니다두 개의 쿼리 세트를 동시에 루프하는 방법은 무엇입니까?
{% for story in all_user_stories %}
{{ story.title }}
{{ story.comments.all }}
{% endfor %}
이야기와 코멘트 필드에 관련된 이름이 "의견"을 주석 테이블의 외래 키 코멘트 데이터베이스 테이블이 있습니다. 문제는 "story.comments.all"행이 사용자가 특정 스토리에 대해 작성한 주석 대신에 사용자가 주석 처리 한 모든 스토리에 대한 모든 코멘트를 수신했다는 것입니다. 나는 문서를 살펴 보았고, 이것을 할 수있는 적절한 방법이나 좋은 방법을 찾지 못한다.
누군가는 내가 어떻게 좋은 깨끗한 방법으로 이것을 할 수 있는지 아는가? 코멘트 테이블에서 다른 쿼리 세트를 생성해야합니까?이 경우 두 번 반복하는 방법은 무엇입니까? 필자는 사람들이 이것을하는 몇 가지 방법을 보았지만 그때의 querysets는 여기에없는 동일한 번호를 가지고 있습니다.
업데이트 :
class Story(models.Model):
user = models.ForeignKey(User)
date_added = models.DateTimeField(auto_now_add=True)
date_modified = models.DateTimeField(auto_now=True)
title = models.CharField(max_length=150)
description = models.CharField(blank=True, null=True, max_length=2000)
story_text = models.TextField()
category = models.ForeignKey(Category, blank=True, null=True)
class Comment(models.Model):
user = models.ForeignKey(User)
date_added = models.DateTimeField(auto_now_add=True)
date_modified = models.DateTimeField(auto_now=True)
emailOnReply = models.NullBooleanField(blank=True, null=True)
comment_text = models.TextField()
story = models.ForeignKey(Story, related_name="comments")
def __unicode__(self):
return self.comment_text
코드에로 다스 려 코멘트 필드 메신저 주석 테이블에서 이야기 모델 필드에 related_name 인수이며,이 반환 :
이 이야기와 코멘트 모델입니다 코멘트는 루프에 대한 이야기와 관련된 주석 대신 모든 것을 반환합니다. 사용자 모델은 djangos 인증 시스템의 사용자 모델입니다.
<table class="table table-hover">
<thead>
<tr>
<th>Title</th>
<th>Date added</th>
<th>Last modified</th>
<th>Publicity</th>
<th>Comments</th>
<th>Votes</th>
<th>Views</th>
</tr>
</thead>
<tbody>
<tr>
{% for story in all_user_story %}
<td><a href="/story/display/{{ story.id }}"> {{ story.title }}</td>
<td>{{ story.date_added }}</td>
<td>{{ story.date_modified }}</td>
<td>{{ story.story_access_level }}</td>
<td>
{{ story.comments.all }} <----- How to only display the comment(s) related to this specific story the for loop is looping through
</td>
<td><img src="{% static 'images/arrow_up.png' %}"> {{ story.votes }} <img src="{% static 'images/arrow_down.png' %}"></td>
<td>
{% if story.views %}
{{ story.views }}
{% else %}
0 {% endif %}
</td>
<td> <a href="/user/{{ user }}/story/{{ story.id }}/edit">Edit story</a></td>
</tr>
{% endfor %}
</tbody>
</table
정확히 무슨 일을했는지는 모르겠지만 작동하지 않는다면 더 명확하게 보여주기 위해 원본 게시물을 업데이트 할 수 있습니다. 외래 키는 _set을 사용하지 않는 이유가되는 다른 방법입니다. –
좋아, 모델을 정의하는 방법에 대한 자세한 내용으로 질문을 업데이트 해 주실 수 있습니까? – HAL
질문을 업데이트 할 것입니다. –