@@ -115,6 +115,24 @@ class MeasurementListPDF(ListDocumentView):
115115 filename = gettext_lazy ("gewaessercampus-measurement-list.pdf" )
116116 context_object_name = "measurements"
117117 model = Measurement
118+ queryset = (
119+ Measurement .objects .order_by ("time" )
120+ .prefetch_related ("parameters" )
121+ .prefetch_related ("parameters__parameter_type" )
122+ .select_related ("water" )
123+ .only (
124+ "id" ,
125+ "location" ,
126+ "time" ,
127+ "water_id" ,
128+ "water__flow_type" ,
129+ "water__water_type" ,
130+ "water__name" ,
131+ "parameters__value" ,
132+ "parameters__parameter_type__name" ,
133+ "parameters__parameter_type__unit" ,
134+ )
135+ )
118136 filter : MeasurementFilterSet
119137
120138 def get_bbox (self ) -> Tuple [float , float , float , float ]:
@@ -155,17 +173,16 @@ def get_context_data(self, *, object_list=None, **kwargs):
155173 }
156174 if context_object_name is not None :
157175 context [context_object_name ] = queryset
158- kwargs ["measurement_count" ] = queryset .count ()
176+ simple_queryset = queryset .all ().prefetch_related (None )
177+ kwargs ["measurement_count" ] = simple_queryset .all ().count ()
159178 kwargs ["water_count" ] = (
160- queryset .only ("water" ).order_by ().distinct ("water" ).count ()
161- )
162- kwargs ["time_first" ] = (
163- queryset .only ("time" ).values_list ("time" , flat = True ).earliest ("time" )
179+ simple_queryset .all ().only ("water" ).order_by ().distinct ("water" ).count ()
164180 )
165- kwargs ["time_last" ] = (
166- queryset .only ("time" ).values_list ("time" , flat = True ).latest ("time" )
167- )
168- points : List [Point ] = queryset .all ().values_list ("location" , flat = True )
181+ time_query = simple_queryset .all ().only ("time" ).values_list ("time" , flat = True )
182+ kwargs ["time_first" ] = time_query .all ().earliest ("time" )
183+ kwargs ["time_last" ] = time_query .all ().latest ("time" )
184+
185+ points : List [Point ] = simple_queryset .all ().values_list ("location" , flat = True )
169186 map_bytes : bytes
170187 clustered : bytes
171188
0 commit comments