diff --git a/biz/filters.py b/biz/filters.py index 2be08f1..fb23d22 100644 --- a/biz/filters.py +++ b/biz/filters.py @@ -81,15 +81,11 @@ class ProspectStatusFilter(admin.SimpleListFilter): if self.value() == Status.NONE: return queryset.filter(activities__isnull=True) elif self.value(): - # Get prospects whose most recent activity has the selected status - return queryset.filter( - activities__status=self.value() - ).annotate( - latest_activity_date=Max('activities__creation_date') - ).filter( - activities__creation_date=F('latest_activity_date'), - activities__status=self.value() - ).distinct() + prospects_with_status = [] + for prospect in queryset: + if prospect.current_status() == self.value(): + prospects_with_status.append(prospect.id) + return queryset.filter(id__in=prospects_with_status) else: return queryset