From 902c4d7a9cf5cb51bc5f4610f8b5fdec217afd2e Mon Sep 17 00:00:00 2001 From: Kevin Morris Date: Wed, 5 Jan 2022 19:46:06 -0800 Subject: [PATCH] fix(routers.packages): fix repeatead user joins Signed-off-by: Kevin Morris --- aurweb/packages/search.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/aurweb/packages/search.py b/aurweb/packages/search.py index c4ab36fe..1bca732a 100644 --- a/aurweb/packages/search.py +++ b/aurweb/packages/search.py @@ -59,14 +59,18 @@ class PackageSearch: "l": self._sort_by_last_modified } + self._joined = False + def _join_user(self, outer: bool = True) -> orm.Query: """ Centralized joining of a package base's maintainer. """ - self.query = self.query.join( - User, - User.ID == PackageBase.MaintainerUID, - isouter=outer - ) - return self.query + if not self._joined: + self.query = self.query.join( + User, + User.ID == PackageBase.MaintainerUID, + isouter=outer + ) + self._joined = True + return self.query def _search_by_namedesc(self, keywords: str) -> orm.Query: self._join_user()