我有一个类似reddit的网站,用户发布链接,这些链接可以评论。我想显示每个链接下的评论数,然后再转到该链接的评论页。在django中,哪种查询效率最高的方法不会降低网站的呈现速度?我假设我必须对页面上的每个链接进行for循环,以计算每个链接的文章数,并用每个queryset的.count()返回的数字填充某种类型的列表?以下是我所拥有的:
class Post(models.Model):
newlinktag = models.ForeignKey('NewLink', null=False)
childtag = models.ForeignKey('Post', blank=True, null=True)
postcontent = models.CharField(max_length=1024)
def __unicode__(self):
return self.postcontent
class NewLink(models.Model):
posttag = models.ForeignKey('PageInfo') #the page each link belongs to
linkcomment = models.CharField(max_length=512)
postlinkdate = models.DateTimeField(auto_now_add=True) #submission datestamp.
url = models.URLField(max_length = 1024)
linkowner = models.ForeignKey(User, null=True, blank=True)
def __unicode__(self):
return self.url
在您的模型中,我将创建一个
cached_property
,然后当您在模板中运行for loop
时,调用属性来获取计数。你知道吗例如
型号.py:
视图.py:
html:
我正确理解你的问题了吗?你知道吗
Jape给了您一个很好的答案,但是在数据库中进行计数总是比在python循环中更有效。你知道吗
视图.py
html
相关问题 更多 >
编程相关推荐