File tree Expand file tree Collapse file tree 1 file changed +10
-2
lines changed
sta/services/sensorthings Expand file tree Collapse file tree 1 file changed +10
-2
lines changed Original file line number Diff line number Diff line change 22from uuid import UUID
33from datetime import datetime
44from typing import Optional
5+ from django .db .models import Min , Max , Count
56from django .db .utils import IntegrityError , DatabaseError , DataError
67from psycopg .errors import UniqueViolation
78from ninja .errors import HttpError
@@ -312,9 +313,16 @@ def delete_observations(
312313 @staticmethod
313314 def update_value_count (datastream_id : UUID ) -> None :
314315
315- observation_query = Observation .objects .filter (datastream_id = datastream_id )
316+ aggregate = Observation .objects .filter (datastream_id = datastream_id ).aggregate (
317+ min_time = Min ("phenomenon_time" ),
318+ max_time = Max ("phenomenon_time" ),
319+ count = Count ("id" ),
320+ )
316321
317322 datastream = Datastream .objects .get (pk = datastream_id )
318323
319- datastream .value_count = int (observation_query .count ())
324+ datastream .phenomenon_begin_time = aggregate ["min_time" ]
325+ datastream .phenomenon_end_time = aggregate ["max_time" ]
326+ datastream .value_count = aggregate ["count" ]
327+
320328 datastream .save ()
You can’t perform that action at this time.
0 commit comments