diff --git a/opentech/apply/review/models.py b/opentech/apply/review/models.py index 5e4c2bd9b364abdec54604fe30789183860f6ef4..1c3f4bac4483bf065eb2b45f8eaea2b53b1b5339 100644 --- a/opentech/apply/review/models.py +++ b/opentech/apply/review/models.py @@ -107,6 +107,9 @@ class ReviewQuerySet(models.QuerySet): else: return MAYBE + def opinions(self): + return ReviewOpinion.objects.filter(review__id__in=self.values_list('id')) + class Review(ReviewFormFieldsMixin, BaseStreamForm, AccessFormData, models.Model): submission = models.ForeignKey('funds.ApplicationSubmission', on_delete=models.CASCADE, related_name='reviews') diff --git a/opentech/apply/review/views.py b/opentech/apply/review/views.py index 6ba083979c598d30e95ffc776eb4e6306f80a672..58a2ef3d34c6c915c38df9d096b42c946c0da670 100644 --- a/opentech/apply/review/views.py +++ b/opentech/apply/review/views.py @@ -33,8 +33,7 @@ class ReviewContextMixin: reviews_dict[review.author.pk] = review # Get all the authors of opinions, these authors should not show up in the 'xxx_not_reviewed' lists - opinion_authors = set(User.objects.filter( - pk__in=ReviewOpinion.objects.filter(review__submission=self.object).values('author__pk'))) + opinion_authors = User.objects.filter(pk__in=self.object.reviews.opinions().values('author')).distinct() reviews_block = defaultdict(list) for assigned_reviewer in assigned: