diff options
author | 2023-12-15 17:05:07 +0100 | |
---|---|---|
committer | 2023-12-15 17:05:07 +0100 | |
commit | 480c07ed126a9d498912d2c6a9685f974d55e7a0 (patch) | |
tree | 5d25f3f14fb7505dbdb0998ca3783c43decac75c /pydis_site/apps/api/viewsets | |
parent | use curl to download the pull_request_payload artifact (#1185) (diff) |
Prefetch user and actor in expanded infraction view
Prevent N+1 reported by Sentry:
https://python-discord.sentry.io/issues/4721126467/?project=2714379&query=is%3Aunresolved&referrer=issue-stream&statsPeriod=90d&stream_index=3
Diffstat (limited to 'pydis_site/apps/api/viewsets')
-rw-r--r-- | pydis_site/apps/api/viewsets/bot/infraction.py | 6 |
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: |