Skip to content

Commit f459356

Browse files
Merge pull request #2217 from IFRCGo/feature/fieldreport-csv-n+1
Field-report query fix n+1
2 parents 5063a01 + 807a576 commit f459356

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

api/drf_views.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -917,7 +917,17 @@ class FieldReportViewset(ReadOnlyVisibilityViewsetMixin, viewsets.ModelViewSet):
917917
filterset_class = FieldReportFilter
918918
authentication_class = [IsAuthenticated]
919919
queryset = FieldReport.objects.select_related("dtype", "event").prefetch_related(
920-
"actions_taken", "actions_taken__actions", "countries", "districts", "regions"
920+
"actions_taken",
921+
"actions_taken__actions",
922+
"contacts",
923+
"countries",
924+
"districts",
925+
# Unusable – in serializer: wired-in get_merged_items_by_fields():
926+
# "event__countries",
927+
"external_partners",
928+
"regions",
929+
"sources",
930+
"supported_activities",
921931
)
922932

923933
def get_serializer_class(self):

local_units/admin.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ class LocalUnitAdmin(CompareVersionAdmin, admin.OSMGeoAdmin):
5555
AutocompleteFilterFactory("Level", "level"),
5656
)
5757

58+
def get_queryset(self, request):
59+
return super().get_queryset(request).select_related("country")
60+
5861
def save_model(self, request, obj, form, change):
5962
if obj.type.code == 1 and obj.health:
6063
raise ValidationError({"Can't have health data for type %s" % obj.type.code})

0 commit comments

Comments
 (0)