diff --git a/deployments/drf_views.py b/deployments/drf_views.py index 4c69e24d9..f04268e49 100644 --- a/deployments/drf_views.py +++ b/deployments/drf_views.py @@ -99,7 +99,20 @@ class ERUViewset(viewsets.ReadOnlyModelViewSet): authentication_classes = (TokenAuthentication,) # Some figures are shown on the home page also, and not only authenticated users should see them. # permission_classes = (IsAuthenticated,) - queryset = ERU.objects.all() + queryset = ERU.objects.select_related("eru_owner").prefetch_related( + "deployed_to", + "event", + "event__appeals", + "event__dtype", + "event__countries", + "event__field_reports", + "event__field_reports__countries", + "event__field_reports__contacts", + "eru_owner__national_society_country", + "eru_owner__eru_set", + "eru_owner__eru_set__deployed_to", + ) + # ERUSerializer uses ERUOwnerSerializer which uses ERUSetSerializer (~circle) serializer_class = ERUSerializer filterset_class = ERUFilter ordering_fields = ( diff --git a/deployments/serializers.py b/deployments/serializers.py index e82850cec..0e7136e0a 100644 --- a/deployments/serializers.py +++ b/deployments/serializers.py @@ -86,6 +86,7 @@ class Meta: ) +# ERUSerializer uses ERUOwnerSerializer which uses ERUSetSerializer (~circle) class ERUSerializer(ModelSerializer): deployed_to = MiniCountrySerializer() event = ListEventSerializer(allow_null=True, required=False)