This commit is contained in:
2026-02-02 11:00:40 +03:00
parent 87a1a628d3
commit 2d0f236fa4
22 changed files with 1119 additions and 461 deletions

View File

@@ -13,6 +13,7 @@ from api.utils.decorators import handle_exceptions
class SensorView(APIView):
permission_classes = [IsAuthenticated]
serializer_class = DetectorsResponseSerializer
pagination_class = None # Отключаем пагинацию для получения всех датчиков
@extend_schema(
summary="Получение всех датчиков",
@@ -54,7 +55,25 @@ class SensorView(APIView):
'alerts'
).all()
total_count = sensors.count()
print(f"[SensorView] Total sensors in DB: {total_count}")
# Проверяем уникальность serial_number
serial_numbers = [s.serial_number for s in sensors if s.serial_number]
unique_serials = set(serial_numbers)
print(f"[SensorView] Unique serial_numbers: {len(unique_serials)} out of {len(serial_numbers)}")
if len(serial_numbers) != len(unique_serials):
from collections import Counter
duplicates = {k: v for k, v in Counter(serial_numbers).items() if v > 1}
print(f"[SensorView] WARNING: Found duplicate serial_numbers: {duplicates}")
serializer = DetectorsResponseSerializer(sensors)
detectors_dict = serializer.data.get('detectors', {})
print(f"[SensorView] Serialized detectors count: {len(detectors_dict)}")
print(f"[SensorView] Sample detector_ids: {list(detectors_dict.keys())[:5]}")
return Response(serializer.data, status=status.HTTP_200_OK)
except Sensor.DoesNotExist:
return Response(