From 8db05bed9542f907dd9e1bcd4eac44a2a79467ff Mon Sep 17 00:00:00 2001 From: Gabriel Rodríguez Alberich Date: Wed, 14 Dec 2022 18:16:22 +0100 Subject: Prevent n+1 queries when rendering timelines (#165) The linkify_mentions function is traversing the post's mentions, so better prefetch those.--- activities/views/timelines.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/activities/views/timelines.py b/activities/views/timelines.py index a562520..0c1b693 100644 --- a/activities/views/timelines.py +++ b/activities/views/timelines.py @@ -25,7 +25,7 @@ class Home(FormView): type__in=[TimelineEvent.Types.post, TimelineEvent.Types.boost], ) .select_related("subject_post", "subject_post__author") - .prefetch_related("subject_post__attachments") + .prefetch_related("subject_post__attachments", "subject_post__mentions") .order_by("-created")[:50] ) context["interactions"] = PostInteraction.get_event_interactions( @@ -70,7 +70,7 @@ class Tag(ListView): Post.objects.public() .tagged_with(self.hashtag) .select_related("author") - .prefetch_related("attachments") + .prefetch_related("attachments", "mentions") .order_by("-created")[:50] ) @@ -99,7 +99,7 @@ class Local(ListView): return ( Post.objects.local_public() .select_related("author") - .prefetch_related("attachments") + .prefetch_related("attachments", "mentions") .order_by("-created")[:50] ) @@ -127,7 +127,7 @@ class Federated(ListView): visibility=Post.Visibilities.public, in_reply_to__isnull=True ) .select_related("author") - .prefetch_related("attachments") + .prefetch_related("attachments", "mentions") .order_by("-created")[:50] ) -- cgit v1.2.3