aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site/apps/api/viewsets
diff options
context:
space:
mode:
authorGravatar jchristgit <[email protected]>2023-12-15 20:19:54 +0100
committerGravatar GitHub <[email protected]>2023-12-15 20:19:54 +0100
commit5e2c180084124b4713f306856e26714de9ebfae5 (patch)
tree79e8e1dc241df306973fed3e88f098bb5af3f521 /pydis_site/apps/api/viewsets
parentMerge pull request #1188 from python-discord/slightly-optimize-tag-updates (diff)
parentPrefetch user and actor in expanded infraction view (diff)
Merge pull request #1186 from python-discord/nplusone-infractions-expanded
Prefetch user and actor in expanded infraction view
Diffstat (limited to 'pydis_site/apps/api/viewsets')
-rw-r--r--pydis_site/apps/api/viewsets/bot/infraction.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pydis_site/apps/api/viewsets/bot/infraction.py b/pydis_site/apps/api/viewsets/bot/infraction.py
index 09c05a74..8da82822 100644
--- a/pydis_site/apps/api/viewsets/bot/infraction.py
+++ b/pydis_site/apps/api/viewsets/bot/infraction.py
@@ -230,7 +230,11 @@ class InfractionViewSet(
})
additional_filters['type__in'] = [i.strip() for i in filter_types.split(",")]
- return self.queryset.filter(**additional_filters)
+ qs = self.queryset.filter(**additional_filters)
+ if self.serializer_class is ExpandedInfractionSerializer:
+ return qs.prefetch_related('actor', 'user')
+
+ return qs
@action(url_path='expanded', detail=False)
def list_expanded(self, *args, **kwargs) -> Response: