def get_queryset()

in backend/code_review_backend/issues/api.py [0:0]


    def get_queryset(self):
        diffs = (
            Diff.objects
            # Because of the perf. hit filter issues that are not older than today - 3 months.
            .filter(created__gte=date.today() - timedelta(days=90))
            .prefetch_related(
                Prefetch(
                    "issue_links",
                    queryset=IssueLink.objects.select_related("issue"),
                ),
                "revision",
                "revision__base_repository",
                "revision__head_repository",
                "repository",
            )
            .annotate(nb_issues=Count("issue_links"))
            .annotate(
                nb_errors=Count(
                    "issue_links", filter=Q(issue_links__issue__level=LEVEL_ERROR)
                )
            )
            .annotate(
                nb_warnings=Count(
                    "issue_links", filter=Q(issue_links__issue__level="warning")
                )
            )
            .annotate(
                nb_issues_publishable=Count(
                    "issue_links",
                    filter=Q(issue_links__in_patch=True)
                    | Q(issue_links__issue__level=LEVEL_ERROR),
                )
            )
            .order_by("-id")
        )

        # Filter by repository
        repository = self.request.query_params.get("repository")
        if repository is not None:
            diffs = diffs.filter(
                Q(revision__base_repository__slug=repository)
                | Q(revision__head_repository__slug=repository)
                | Q(repository__slug=repository)
            )

        # Filter by text search query
        query = self.request.query_params.get("search")
        if query is not None:
            search_query = (
                Q(id__icontains=query)
                | Q(revision__phabricator_id__icontains=query)
                | Q(revision__bugzilla_id__icontains=query)
                | Q(revision__title__icontains=query)
            )
            diffs = diffs.filter(search_query)

        # Filter by issues types
        issues = self.request.query_params.get("issues")
        if issues == "any":
            diffs = diffs.filter(nb_issues__gt=0)
        elif issues == "publishable":
            diffs = diffs.filter(nb_issues_publishable__gt=0)
        elif issues == "no":
            diffs = diffs.filter(nb_issues=0)

        return diffs