Как получить все комментарии всех сообщений - PullRequest
0 голосов
/ 25 мая 2010

У меня есть модель блога, модель поста и модель комментария:

class Blog(models.Model):

    title = models.CharField(_('name'), max_length=80)        
    creator = models.ForeignKey(User, related_name="created_pages")
    created = models.DateTimeField(_('created'), default=datetime.now)
    description = models.TextField(_('description'), null=True, blank=True)

class Post(models.Model):

    title = models.CharField(_('title'), max_length=60, blank=True, null=True)
    body = models.TextField(_('body'))
    blog = models.ForeignKey(Blog, related_name="posts")
    user = models.ForeignKey(User)     
    comments = generic.GenericRelation(Comment)


class Comment(models.Model):

    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField(_('object ID'))
    content_object = generic.GenericForeignKey()
    user = models.ForeignKey(User)  
    body = models.TextField(_('body'))

В представлении, я получаю все сообщения с этим istruction:

    posts = blog.posts.all()

Итак, мой вопрос:

Как получить все комментарии ко всем сообщениям в шаблоне?

Я пробовал это, но комментарии не отображаются:

{% for post in posts %}

  {{ post.title }} 
  {{ post.body }} 

      {% for comment in post.comments.all %}

         {{ comment.body }} 

      {% endfor %} 

{% endfor %}

Ответы [ 2 ]

2 голосов
/ 25 мая 2010

Вы только что пропустили all.

{% for comment in post.comments.all %}
1 голос
/ 25 мая 2010

попробуйте с этим

{% for comment in post.comments_set.all %}
...