diff --git a/opentech/apply/funds/models/submissions.py b/opentech/apply/funds/models/submissions.py index 707d8409f27c46b19c78b3f53fbfc0288e02ab91..8af1b3568a67e549a23670bcdcb01859ec003d4d 100644 --- a/opentech/apply/funds/models/submissions.py +++ b/opentech/apply/funds/models/submissions.py @@ -10,6 +10,7 @@ from django.core.serializers.json import DjangoJSONEncoder from django.db import models from django.db.models import Count, IntegerField, OuterRef, ObjectDoesNotExist, Subquery, Sum from django.db.models.expressions import RawSQL, OrderBy +from django.db.models.functions import Coalesce from django.dispatch import receiver from django.urls import reverse from django.utils.text import slugify @@ -134,9 +135,12 @@ class ApplicationSubmissionQueryset(JSONOrderable): return self.annotate( last_user_update=Subquery(latest_activity[:1].values('user__full_name')), last_update=Subquery(latest_activity.values('timestamp')[:1]), - comment_count=Subquery( - comments.values('submission').order_by().annotate(count=Count('pk')).values('count'), - output_field=IntegerField(), + comment_count=Coalesce( + Subquery( + comments.values('submission').order_by().annotate(count=Count('pk')).values('count'), + output_field=IntegerField(), + ), + 0, ), review_count=Subquery( reviews.values('submission').annotate(count=Count('pk')).values('count'),