From c03900dff4efd9d946f2fe0b6aa3f6a711663207 Mon Sep 17 00:00:00 2001
From: Jonathan Weth <git@jonathanweth.de>
Date: Sun, 20 Feb 2022 16:57:30 +0100
Subject: [PATCH] Optimise query in sync_children

---
 aleksis/apps/matrix/models.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/aleksis/apps/matrix/models.py b/aleksis/apps/matrix/models.py
index 597a9af..381d555 100644
--- a/aleksis/apps/matrix/models.py
+++ b/aleksis/apps/matrix/models.py
@@ -289,13 +289,13 @@ class MatrixSpace(MatrixRoom):
         current_children = self.get_children()
         child_spaces = MatrixSpace.get_queryset().filter(
             group__in=self.group.child_groups.filter(child_groups__isnull=False)
-        )
+        ).values_list("room_id", flat=True)
         child_rooms = MatrixRoom.get_queryset().filter(
             Q(group__in=self.group.child_groups.filter(child_groups__isnull=True))
             | Q(group=self.group)
-        )
+        ).values_list("room_id", flat=True)
 
-        child_ids = [m.room_id for m in list(child_spaces) + list(child_rooms)]
+        child_ids = list(child_spaces) + list(child_rooms)
 
         missing_ids = set(child_ids).difference(set(current_children))
 
-- 
GitLab