@@ -148,12 +148,16 @@ def any(self, qs, name):
148148 return qs
149149
150150 def satisfies_sla (self , qs , name ):
151- non_sla_violations = [finding .id for finding in qs if not finding .violates_sla ]
152- return Finding .objects .filter (id__in = non_sla_violations )
151+ for finding in qs :
152+ if finding .violates_sla :
153+ qs = qs .exclude (id = finding .id )
154+ return qs
153155
154156 def violates_sla (self , qs , name ):
155- sla_violations = [finding .id for finding in qs if finding .violates_sla ]
156- return Finding .objects .filter (id__in = sla_violations )
157+ for finding in qs :
158+ if not finding .violates_sla :
159+ qs = qs .exclude (id = finding .id )
160+ return qs
157161
158162 options = {
159163 None : (_ ('Any' ), any ),
@@ -179,12 +183,16 @@ def any(self, qs, name):
179183 return qs
180184
181185 def satisfies_sla (self , qs , name ):
182- non_sla_violations = [product .id for product in qs if not product .violates_sla ]
183- return Product .objects .filter (id__in = non_sla_violations )
186+ for product in qs :
187+ if product .violates_sla :
188+ qs = qs .exclude (id = product .id )
189+ return qs
184190
185191 def violates_sla (self , qs , name ):
186- sla_violations = [product .id for product in qs if product .violates_sla ]
187- return Product .objects .filter (id__in = sla_violations )
192+ for product in qs :
193+ if not product .violates_sla :
194+ qs = qs .exclude (id = product .id )
195+ return qs
188196
189197 options = {
190198 None : (_ ('Any' ), any ),
0 commit comments