Привет, я новичок в python программировании. Мне нужно создать словарь, используя для l oop и подсчитать статус для родительского ключа
У меня есть родитель, и у каждого родителя есть много датчиков. Теперь я должен посчитать статус (вверх / вниз) каждой парентиды
Expected Results:
Device Name Up Sensors Down Sensors
Device-01 1 1
Device-02 2
Ниже приведен пример результата API, который я получаю:
{
"sensors": [
{
"objid": 3227,
"parentid": 3222,
"device": "Device-1",
"sensor": "GPON 0/0/0",
"status": "Up",
},
{
"objid": 3228,
"parentid": 3222,
"device": "Device-1",
"sensor": "GPON 0/0/1",
"status": "Down",
},
{
"objid": 3229,
"parentid": 3223,
"device": "Device-2",
"sensor": "GPON 0/0/1",
"status": "Up",
},
{
"objid": 3230,
"parentid": 3223,
"device": "Device-2",
"sensor": "GPON 0/0/2",
"status": "Up",
},
}
Ниже приведен мой views.py , Я умею считать все датчики. Моя проблема заключается в том, как я могу получить указанный c счет на одного родителя
def dashboard(request):
response = requests.get('http://sample_api_url')
data = response.json()
all_up_sensors = 0
all_down_sensors = 0
all_devices = dict()
for device in data['sensors']:
parentid = device['parentid']
if device['status'] == "Up":
all_up_sensors +=1
else:
all_down_sensors +=1
device_info = {
"device" : device['device'],
"up_sensors" : ????,
"down_sensors" : ????,
}
all_devices[parentid] = device_info
context = {
"all_devices": all_devices,
"all_up_sensors": all_up_sensors,
"all_down_sensors": all_down_sensors,
}
return render(request, 'monitoring/dashboard.html', context)