diff options
| author | 2024-01-13 20:18:17 +0800 | |
|---|---|---|
| committer | 2024-01-13 20:18:17 +0800 | |
| commit | cccbb8ee5ee75d8e2570e112acc7408144bd5588 (patch) | |
| tree | cdfd0c4b36d811865f4d87b4a06ad48fcfec6b4d /pydis_site/apps/api | |
| parent | Dark: Fix colors on content pages (diff) | |
| parent | Merge pull request #1202 from python-discord/dependabot/pip/markdown-3.5.2 (diff) | |
Merge branch 'main' into gdwr-dark-theme
Diffstat (limited to 'pydis_site/apps/api')
| -rw-r--r-- | pydis_site/apps/api/serializers.py | 18 | ||||
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/infraction.py | 6 | ||||
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/nomination.py | 2 | 
3 files changed, 11 insertions, 15 deletions
| diff --git a/pydis_site/apps/api/serializers.py b/pydis_site/apps/api/serializers.py index 87fd6190..cfd975c9 100644 --- a/pydis_site/apps/api/serializers.py +++ b/pydis_site/apps/api/serializers.py @@ -151,12 +151,9 @@ class MessageDeletionContextSerializer(ModelSerializer):          """          messages = validated_data.pop('deletedmessage_set')          deletion_context = MessageDeletionContext.objects.create(**validated_data) -        for message in messages: -            DeletedMessage.objects.create( -                deletion_context=deletion_context, -                **message -            ) - +        DeletedMessage.objects.bulk_create( +            DeletedMessage(deletion_context=deletion_context, **message) for message in messages +        )          return deletion_context @@ -508,13 +505,8 @@ class ExpandedInfractionSerializer(InfractionSerializer):          """Return the dictionary representation of this infraction."""          ret = super().to_representation(instance) -        user = User.objects.get(id=ret['user']) -        user_data = UserSerializer(user).data -        ret['user'] = user_data - -        actor = User.objects.get(id=ret['actor']) -        actor_data = UserSerializer(actor).data -        ret['actor'] = actor_data +        ret['user'] = UserSerializer(instance.user).data +        ret['actor'] = UserSerializer(instance.actor).data          return ret 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: diff --git a/pydis_site/apps/api/viewsets/bot/nomination.py b/pydis_site/apps/api/viewsets/bot/nomination.py index 953513e0..d083464c 100644 --- a/pydis_site/apps/api/viewsets/bot/nomination.py +++ b/pydis_site/apps/api/viewsets/bot/nomination.py @@ -170,7 +170,7 @@ class NominationViewSet(CreateModelMixin, RetrieveModelMixin, ListModelMixin, Ge      """      serializer_class = NominationSerializer -    queryset = Nomination.objects.all() +    queryset = Nomination.objects.all().prefetch_related('entries')      filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)      filterset_fields = ('user__id', 'active')      frozen_on_create = ('ended_at', 'end_reason', 'active', 'inserted_at', 'reviewed') | 
