From f61259e0d24e74a4bdf8dfae2fb037e03db3e3bf Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 11 Apr 2024 10:05:20 +1000 Subject: [PATCH] Improve DB efficiency for user settings (#6996) - Prefetch related user - Prevents 1+N issue --- src/backend/InvenTree/common/api.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/backend/InvenTree/common/api.py b/src/backend/InvenTree/common/api.py index f3e5066bde..50f6361e0b 100644 --- a/src/backend/InvenTree/common/api.py +++ b/src/backend/InvenTree/common/api.py @@ -258,6 +258,13 @@ class UserSettingsList(SettingsList): common.models.InvenTreeUserSetting.build_default_values(user=request.user) return super().list(request, *args, **kwargs) + def get_queryset(self): + """Return prefetched queryset.""" + queryset = super().get_queryset() + queryset = queryset.prefetch_related('user') + + return queryset + def filter_queryset(self, queryset): """Only list settings which apply to the current user.""" try: