# HG changeset patch # User neko259 # Date 2014-04-22 13:11:09 # Node ID 7a5453fe2d4a455fcd8b979d25fc4ae75d75808b # Parent cb9d10dee78a42a0ed630e12a83a410ecbc95e63 Use prefetch_related for threads to improve thread loading speed diff --git a/boards/models/post.py b/boards/models/post.py --- a/boards/models/post.py +++ b/boards/models/post.py @@ -430,8 +430,7 @@ class Thread(models.Model): Gets sorted thread posts """ - # return self.replies.all().order_by('pub_time') - return self.replies.all().order_by('pub_time').select_related() + return self.replies.order_by('pub_time').all().prefetch_related('referenced_posts') def add_tag(self, tag): """ diff --git a/boards/templates/boards/post.html b/boards/templates/boards/post.html --- a/boards/templates/boards/post.html +++ b/boards/templates/boards/post.html @@ -68,16 +68,14 @@ {{ post.text.rendered }} {% endif %} {% endautoescape %} - {% with refposts=post.referenced_posts.all %} - {% if refposts %} -
- {% trans "Replies" %}: - {% for ref_post in refposts %} - >>{{ ref_post.id }}{% if not forloop.last %},{% endif %} - {% endfor %} -
- {% endif %} - {% endwith %} + {% if post.referenced_posts.exists %} +
+ {% trans "Replies" %}: + {% for ref_post in post.referenced_posts.all %} + >>{{ ref_post.id }}{% if not forloop.last %},{% endif %} + {% endfor %} +
+ {% endif %} {% endcache %} {% if is_opening %}