From c9aee3ebb84dec7f8bd8f57c8c2f837da6bd6a53 Mon Sep 17 00:00:00 2001 From: TLSM Date: Wed, 9 Nov 2022 09:25:47 -0500 Subject: [PATCH] Eager load badge_def with badge. Removes N guaranteed queries when rendering a userpage for a user with N badges. We need the badge_def to provide nearly all properties of a Badge, and it's nearly free with a one-to-one on indexed columns. --- files/classes/badges.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/classes/badges.py b/files/classes/badges.py index 1ac53eecca..38c5a1308f 100644 --- a/files/classes/badges.py +++ b/files/classes/badges.py @@ -37,7 +37,7 @@ class Badge(Base): created_utc = Column(Integer) user = relationship("User", back_populates="badges") - badge = relationship("BadgeDef", primaryjoin="Badge.badge_id == BadgeDef.id") + badge = relationship("BadgeDef", primaryjoin="Badge.badge_id == BadgeDef.id", lazy="joined", innerjoin=True) def __init__(self, *args, **kwargs): if "created_utc" not in kwargs: