From 6df203d6a04d8ddfce76acdfc6bdcbf911d02e36 Mon Sep 17 00:00:00 2001 From: shivamshrma09 Date: Thu, 5 Feb 2026 15:48:57 +0530 Subject: [PATCH] fix #1754: newest-first sorting for packages + vulnerabilities - packages: version_rank desc - vulns: vulnerability_id desc - advisories: advisory_id desc --- vulnerabilities/views.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/vulnerabilities/views.py b/vulnerabilities/views.py index 8a867983e..ec8d3cc69 100644 --- a/vulnerabilities/views.py +++ b/vulnerabilities/views.py @@ -64,13 +64,14 @@ def get_queryset(self, query=None): Return a Package queryset for the ``query``. Make a best effort approach to find matching packages either based on exact purl, partial purl or just name and namespace. + Results are sorted by version rank (newest first). """ query = query or self.request.GET.get("search") or "" return ( self.model.objects.search(query) .with_vulnerability_counts() .prefetch_related() - .order_by("package_url") + .order_by("-version_rank", "package_url") ) @@ -92,13 +93,14 @@ def get_queryset(self, query=None): Return a Package queryset for the ``query``. Make a best effort approach to find matching packages either based on exact purl, partial purl or just name and namespace. + Results are sorted by version rank (newest first). """ query = query or self.request.GET.get("search") or "" return ( self.model.objects.search(query) .with_vulnerability_counts() .prefetch_related() - .order_by("package_url") + .order_by("-version_rank", "package_url") ) @@ -117,7 +119,7 @@ def get_context_data(self, **kwargs): def get_queryset(self, query=None): query = query or self.request.GET.get("search") or "" - return self.model.objects.search(query=query).with_package_counts() + return self.model.objects.search(query=query).with_package_counts().order_by("-vulnerability_id") class AdvisorySearch(ListView): @@ -135,7 +137,7 @@ def get_context_data(self, **kwargs): def get_queryset(self, query=None): query = query or self.request.GET.get("search") or "" - return self.model.objects.search(query=query).with_package_counts() + return self.model.objects.search(query=query).with_package_counts().order_by("-advisory_id") class PackageDetails(DetailView):