11from __future__ import annotations
22
33from django .db import router , transaction
4- from django .db .models import F
4+ from django .db .models import F , QuerySet
55from django .db .models .functions import TruncMinute
66from django .utils .crypto import get_random_string
77from rest_framework .request import Request
@@ -184,6 +184,7 @@ def delete_monitor(self, request: Request, project: Project, monitor: Monitor) -
184184 ).values_list ("id" , flat = True )
185185 )
186186 with transaction .atomic (router .db_for_write (MonitorEnvironment )):
187+ monitor_objects : QuerySet [MonitorEnvironment ] | QuerySet [Monitor ]
187188 if env_ids :
188189 monitor_objects = (
189190 MonitorEnvironment .objects .filter (
@@ -206,7 +207,9 @@ def delete_monitor(self, request: Request, project: Project, monitor: Monitor) -
206207 event = audit_log .get_event_id ("MONITOR_ENVIRONMENT_REMOVE" )
207208 issue_alert_rule_id = None
208209 else :
209- monitor_objects = Monitor .objects .filter (id = monitor .id ).exclude (
210+ monitor_objects = monitor_monitor_objects = Monitor .objects .filter (
211+ id = monitor .id
212+ ).exclude (
210213 status__in = [
211214 ObjectStatus .PENDING_DELETION ,
212215 ObjectStatus .DELETION_IN_PROGRESS ,
@@ -215,11 +218,13 @@ def delete_monitor(self, request: Request, project: Project, monitor: Monitor) -
215218 event = audit_log .get_event_id ("MONITOR_REMOVE" )
216219
217220 # Mark rule for deletion if present and monitor is being deleted
218- monitor = monitor_objects .first ()
219- issue_alert_rule_id = monitor .config .get ("alert_rule_id" ) if monitor else None
221+ first_monitor = monitor_monitor_objects .first ()
222+ issue_alert_rule_id = (
223+ first_monitor .config .get ("alert_rule_id" ) if first_monitor else None
224+ )
220225
221226 # create copy of queryset as update will remove objects
222- monitor_objects_list = list (monitor_objects )
227+ monitor_objects_list : list [ MonitorEnvironment | Monitor ] = list (monitor_objects )
223228 if not monitor_objects or not monitor_objects .update (
224229 status = ObjectStatus .PENDING_DELETION
225230 ):
0 commit comments