Django:如何直接在每个原始帖子对象下订购帖子的评论?

时间:2014-09-08 09:54:48

标签: python django django-models django-queryset

我正在创建一个django应用程序,允许在每个用户的页面上发布内容,然后允许人们对每个帖子发表评论。我正在尝试获取每个帖子的相关评论,并按时间戳顺序在每个帖子下显示它们。我已经想出如何使用allpageposts = username.newpost_set.all()。order_by(' - postdate')为每个配置文件的原始帖子做这个,但似乎无法弄清楚最好的方法是做什么的评论即使它起初似乎与原始帖子的逻辑相同。我遇到的问题是我需要跟踪用户页面中哪些特定“newpost”的评论,这些评论可能在他们的页面上有很多“newposts”。有什么方法可以捕获每个页面的newpost的注释并在模板中显示它们?感谢您提供任何提示或提示。这是我的模特:

class newpost(models.Model):
    newlinktag = models.ForeignKey('username') 
    postcontent = models.CharField(max_length=1024) 
    postdate = models.DateTimeField()
    postlikes = models.IntegerField(null=False, default=0)  
    def __unicode__(self):
        return self.postcontent

class postcomment(models.Model):
    comment = models.CharField(max_length=1024, null=False) 
    commenttag = models.ForeignKey('newpost')
    postcommentdate = models.DateTimeField() 
    commentlikes = models.IntegerField(null=False, default=0)
    def __unicode__(self):
        return self.comment 

1 个答案:

答案 0 :(得分:3)

如果我理解你是对的,你需要这样的东西:

for post in username.newpost_set.all():
    comments = postcomment.objects.filter(commenttag=post).order_by('-postcommentdate')
    # your code here