|
@@ -7,6 +7,7 @@
|
|
|
import time
|
|
|
|
|
|
from django.core.exceptions import ObjectDoesNotExist
|
|
|
+from django.db.models import F
|
|
|
from django.views import View
|
|
|
|
|
|
from Model.models import FamilyRoomDevice, GatewaySubDevice, FamilyRoom, SmartScene, EffectiveTime, Device_Info
|
|
@@ -73,19 +74,21 @@ class SmartSceneView(View):
|
|
|
gateway_sub_device_qs = GatewaySubDevice.objects.filter(device_id=device_id)
|
|
|
if not gateway_sub_device_qs.exists():
|
|
|
return response.json(173)
|
|
|
- gateway_sub_device_qs = gateway_sub_device_qs.values('id', 'device_type', 'nickname', 'status')
|
|
|
+ gateway_sub_device_qs = gateway_sub_device_qs.annotate(deviceType=F('device_type'),
|
|
|
+ deviceNickName=F('nickname')).\
|
|
|
+ values('id', 'deviceType', 'deviceNickName', 'status')
|
|
|
sub_device_list = []
|
|
|
for gateway_sub_device in gateway_sub_device_qs:
|
|
|
family_room_device_qs = FamilyRoomDevice.objects.filter(sub_device=gateway_sub_device['id']).\
|
|
|
values('room_id')
|
|
|
if not family_room_device_qs.exists():
|
|
|
- gateway_sub_device['room_name'] = ''
|
|
|
+ gateway_sub_device['roomName'] = ''
|
|
|
else:
|
|
|
room_id = family_room_device_qs[0]['room_id']
|
|
|
try:
|
|
|
- gateway_sub_device['room_name'] = FamilyRoom.objects.get(id=room_id).name
|
|
|
+ gateway_sub_device['roomName'] = FamilyRoom.objects.get(id=room_id).name
|
|
|
except ObjectDoesNotExist:
|
|
|
- gateway_sub_device['room_name'] = ''
|
|
|
+ gateway_sub_device['roomName'] = ''
|
|
|
gateway_sub_device.pop('id')
|
|
|
sub_device_list.append(gateway_sub_device)
|
|
|
return response.json(0, sub_device_list)
|