From 2674a97cf8a2dd6e0d3f2a6426ea75290daf9556 Mon Sep 17 00:00:00 2001 From: Jono Yang Date: Mon, 7 Oct 2024 18:46:01 -0700 Subject: [PATCH] Prefetch packages when using resource/filter_by_checksums * Add django-debug-toolbar as testing dependency Signed-off-by: Jono Yang --- packagedb/api.py | 2 +- purldb_project/urls.py | 4 ++++ setup.cfg | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packagedb/api.py b/packagedb/api.py index a6097b2e..24621ee7 100644 --- a/packagedb/api.py +++ b/packagedb/api.py @@ -258,7 +258,7 @@ def filter_by_checksums(self, request, *args, **kwargs): d = {f"{field}__in": value} lookups |= Q(**d) - qs = Resource.objects.filter(lookups) + qs = Resource.objects.filter(lookups).prefetch_related("package") paginated_qs = self.paginate_queryset(qs) serializer = ResourceAPISerializer( paginated_qs, many=True, context={"request": request} diff --git a/purldb_project/urls.py b/purldb_project/urls.py index c3e8fab5..2e590a00 100644 --- a/purldb_project/urls.py +++ b/purldb_project/urls.py @@ -7,6 +7,7 @@ # See https://aboutcode.org for more information about nexB OSS projects. # +from django.conf import settings from django.conf.urls import include from django.urls import path from django.views.generic import RedirectView @@ -68,3 +69,6 @@ name="index_package_scan", ), ] + +if settings.DEBUG and settings.DEBUG_TOOLBAR: + urlpatterns.append(path("__debug__/", include("debug_toolbar.urls"))) diff --git a/setup.cfg b/setup.cfg index 6a89efdf..0f7cd7da 100644 --- a/setup.cfg +++ b/setup.cfg @@ -81,6 +81,7 @@ testing = mock flot ruff + django-debug-toolbar docs = Sphinx>=5.0.2