Commit 400f23ad by 周田

perf:获取的列表按站点和device_id排序,删除某个设备参数后,更新device_id

parent 10891081
......@@ -93,6 +93,22 @@ class DeviceCommunicationParameterViewSet(mixins.CreateModelMixin,
queryset = DeviceCommunicationParameter.objects.all()
serializer_class = DeviceCommunicationParameterSerializer
def list(self, request):
serializer = self.get_serializer(self.get_queryset(), many=True)
data = sorted(serializer.data, key=lambda item: (item['station_id'], item['device_id']))
return Response(data)
def perform_destroy(self, instance):
"""
删除某个记录之后,更新 device_id
"""
super().perform_destroy(instance)
communications = self.get_queryset().filter(station_id=instance.station_id).all()
for i in range(len(communications)):
communications[i].device_id = i + 1
communications[i].save()
class SimulateDeviceCommunicationParameterViewSet(mixins.CreateModelMixin,
mixins.DestroyModelMixin,
......@@ -101,3 +117,18 @@ class SimulateDeviceCommunicationParameterViewSet(mixins.CreateModelMixin,
queryset = SimulateDeviceCommunicationParameter.objects.all()
serializer_class = SimulateDeviceCommunicationParameterSerializer
def list(self, request):
serializer = self.get_serializer(self.get_queryset(), many=True)
data = sorted(serializer.data, key=lambda item: (item['station_id'], item['device_id']))
return Response(data)
def perform_destroy(self, instance):
"""
删除某个记录之后,更新 device_id
"""
super().perform_destroy(instance)
communications = self.get_queryset().filter(station_id=instance.station_id).all()
for i in range(len(communications)):
communications[i].device_id = i + 1
communications[i].save()
No preview for this file type
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment