diff --git a/silk/models.py b/silk/models.py index 846bd0ff..a8d95b6d 100644 --- a/silk/models.py +++ b/silk/models.py @@ -150,10 +150,17 @@ def garbage_collect(cls, force=False): if target_count <= 0: cls.objects.all().delete() return - requests = cls.objects.order_by('-start_time') - if not requests or len(requests)-1 < target_count: + + try: + time_cutoff = cls.objects.order_by( + '-start_time' + ).values_list( + 'start_time', + flat=True + )[target_count] + except IndexError: return - time_cutoff = requests[target_count].start_time + cls.objects.filter(start_time__lte=time_cutoff).delete() def save(self, *args, **kwargs):