|
59 | 59 | ) |
60 | 60 | from country_plan.models import CountryPlan |
61 | 61 | from databank.serializers import CountryOverviewSerializer |
62 | | -from deployments.models import ERU, EmergencyProject, Personnel |
| 62 | +from deployments.models import ERU, Personnel |
63 | 63 | from deployments.serializers import ListDeployedERUByEventSerializer |
64 | 64 | from dref.models import Dref, DrefFinalReport, DrefOperationalUpdate |
65 | 65 | from main.enums import GlobalEnumSerializer, get_enum_values |
@@ -754,7 +754,8 @@ def get_queryset(self, *args, **kwargs): |
754 | 754 | qset = super().get_queryset() |
755 | 755 | if self.action == "mini_events": |
756 | 756 | # return Event.objects.filter(parent_event__isnull=True).select_related('dtype') |
757 | | - return qset.filter(parent_event__isnull=True).select_related("dtype") |
| 757 | + return qset.filter(parent_event__isnull=True).select_related("dtype").prefetch_related("countries_for_preview") |
| 758 | + |
758 | 759 | if self.action == "response_activity_events": |
759 | 760 | return ( |
760 | 761 | qset.filter(parent_event__isnull=True) |
@@ -874,7 +875,11 @@ def retrieve(self, request, pk=None, *args, **kwargs): |
874 | 875 | ) |
875 | 876 | @action(methods=["get"], detail=False, url_path="mini") |
876 | 877 | def mini_events(self, request): |
877 | | - queryset = self.filter_queryset(self.get_queryset()) |
| 878 | + queryset = self.filter_queryset(self.get_queryset()).annotate( |
| 879 | + latest_field_report_id=Subquery( |
| 880 | + FieldReport.objects.filter(event=OuterRef("pk")).order_by("-updated_at").values("id")[:1] |
| 881 | + ) |
| 882 | + ) |
878 | 883 | serializer = ListMiniEventSerializer(queryset, many=True) |
879 | 884 | page = self.paginate_queryset(queryset) |
880 | 885 | if page is not None: |
|
0 commit comments