需要知道访问我的回复表的方式吗?

时间:2018-11-01 04:11:55

标签: python django

这是我的models.py py文件。

from django.db import models
from django.conf import settings
from django.urls import reverse



class Article(models.Model):
  '''Modelling the article section.'''
   title = models.CharField(max_length=200)
   body = models.TextField()
   author  = models.ForeignKey(
        settings.AUTH_USER_MODEL, 
        on_delete=models.CASCADE)
   date = models.DateTimeField(auto_now_add=True)

def __str__(self):
    '''Return string representation of the model.'''
    return self.title

def get_absolute_url(self):
    '''Return the url of this model.'''
    return reverse('article_detail', args=[str(self.id)])


class Comment(models.Model):
    '''Modelling the comment section.'''
    article = models.ForeignKey(
       Article,
       on_delete = models.CASCADE,
       related_name = 'comments'
    )
   comment = models.CharField(max_length=150)
   author = models.ForeignKey(
       settings.AUTH_USER_MODEL, 
       on_delete=models.CASCADE)

def __str__(self):
    '''String representation of the model. '''
    return self.comment


class Reply(models.Model):
    ''' Modelling the reply section. '''
    comment = models.ForeignKey(
        Comment,
        on_delete = models.CASCADE,
        related_name = 'replys'
    )
    reply = models.CharField(max_length=100)
    author = models.ForeignKey(
       settings.AUTH_USER_MODEL, 
       on_delete=models.CASCADE
     )

def __str__(self):
    ''' String representation of the model. '''
    return self.reply

我需要访问“详细视图”模板中的“回复”表(使用通用视图类DetailView)。到目前为止,我已经在模板中尝试了以下命令。

article.comments.replys.all

它无法从Reply表中检索任何数据。预先感谢。

1 个答案:

答案 0 :(得分:1)

article.comments是经理;您需要对其进行迭代以获得Comment实例。每个人都有.replys

{% for comment in article.comments.all %}
    {% for reply in comment.replys.all %}
        ...
    {% endfor %}
{% endfor %}