Не работал фильтр на несколько классов аварий. При попытке выбрать несколько классов, получали трейс
EXCEPTION: <class 'RuntimeError'> dictionary changed size during iteration
START OF TRACEBACK
------------------------------------------------------------------------
File: services/web/apps/fm/alarm/views.py (Line: 142)
Function: cleaned_query
135 self.query_param,
136 self.only_param,
137 ):
138 if p in q:
139 del q[p]
140 # Extract IN
141 # extjs not working with same parameter name in query
142 ==> for p in q:
143 if p.endswith("__in") and self.rx_oper_splitter.match(p):
144 field = self.rx_oper_splitter.match(p).group("field") + "__in"
145 if field not in q:
146 q[field] = [q[p]]
147 else:
148 q[field] += [q[p]]
Variables:
field = 'alarm_class__in'
p = 'alarm_class1__in'
status = 'A'
q =
{'alarm_class__in': ['594e712725aecf6d5e72233c', '58d281ed25aecf1d5c8b8cfc'],
'collapse': '1',
'maintenance': 'hide'}
self =
<noc.services.web.apps.fm.alarm.views.AlarmApplication object at 0x7f8c56e407f0>