|
@@ -160,13 +160,19 @@ class GatewayDeviceView(View):
|
|
family_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
family_device_qs = FamilyRoomDevice.objects.filter(device_id=device_id)
|
|
if family_device_qs.exists():
|
|
if family_device_qs.exists():
|
|
family_device_qs.delete()
|
|
family_device_qs.delete()
|
|
- gateway_qs = GatewaySubDevice.objects.filter(device_id=device_id)
|
|
|
|
- if gateway_qs.exists():
|
|
|
|
- gateway_qs.delete()
|
|
|
|
uid_set_qs = UidSetModel.objects.filter(uid=device_qs.first().UID)
|
|
uid_set_qs = UidSetModel.objects.filter(uid=device_qs.first().UID)
|
|
if uid_set_qs.exists():
|
|
if uid_set_qs.exists():
|
|
uid_set_qs.delete()
|
|
uid_set_qs.delete()
|
|
- smart_scene_qs = SmartScene.objects.filter(device_id=device_id)
|
|
|
|
|
|
+
|
|
|
|
+ # 如果有子设备,删除子设备和关联的场景数据
|
|
|
|
+ gateway_qs = GatewaySubDevice.objects.filter(device_id=device_id)
|
|
|
|
+ if gateway_qs.exists():
|
|
|
|
+ sub_id_list = gateway_qs.values_list('id', flat=True)
|
|
|
|
+ smart_scene_qs = SmartScene.objects.filter(
|
|
|
|
+ Q(device_id=device_id) | Q(sub_device_id__in=sub_id_list))
|
|
|
|
+ gateway_qs.delete()
|
|
|
|
+ else:
|
|
|
|
+ smart_scene_qs = SmartScene.objects.filter(device_id=device_id)
|
|
if smart_scene_qs.exists():
|
|
if smart_scene_qs.exists():
|
|
# 通知设备删除场景id
|
|
# 通知设备删除场景id
|
|
serial_number = device_qs.first().serial_number
|
|
serial_number = device_qs.first().serial_number
|