Skip to content

Commit 8ce549d

Browse files
committed
Merge remote-tracking branch 'origin/devdev'
2 parents 94b4b89 + 181fa26 commit 8ce549d

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

sponsor/viewsets.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from django.db.transaction import atomic
44

5+
from django.db.models import Prefetch
56
from django.shortcuts import get_object_or_404
67
from django.db.utils import IntegrityError
78
from rest_framework import mixins, status, viewsets
@@ -53,7 +54,12 @@ def get_serializer_class(self):
5354

5455
@action(detail=False, methods=["GET"], url_path="with-sponsor")
5556
def list_with_levels(self, request, version):
56-
serializer = self.get_serializer(self.get_queryset(), many=True)
57+
queryset = self.get_queryset().prefetch_related(
58+
Prefetch(
59+
"sponsor_set", queryset=Sponsor.objects.filter(paid_at__isnull=False)
60+
)
61+
)
62+
serializer = self.get_serializer(queryset, many=True)
5763
return Response(serializer.data)
5864

5965
@action(detail=False, methods=["POST"])

0 commit comments

Comments
 (0)