Skip to content

Commit a51f906

Browse files
committed
Use PrefetchRelatedViewMixin instead of doing it manually
Signed-off-by: Aayush Kumar <[email protected]>
1 parent ec3b615 commit a51f906

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

scanpipe/views.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2800,16 +2800,22 @@ def get(self, request, *args, **kwargs):
28002800

28012801
class CodebaseResourceTableView(
28022802
ConditionalLoginRequired,
2803+
PrefetchRelatedViewMixin,
28032804
ProjectRelatedViewMixin,
28042805
TableColumnsMixin,
28052806
PaginatedFilterView,
28062807
):
2808+
prefetch_related = [
2809+
Prefetch(
2810+
"discovered_packages",
2811+
queryset=DiscoveredPackage.objects.only_package_url_fields(),
2812+
)
2813+
]
28072814
def get_filterset_kwargs(self, filterset_class):
28082815
"""Remove 'path' from filterset data when showing children of a directory."""
28092816
kwargs = super().get_filterset_kwargs(filterset_class)
28102817
path = self.request.GET.get("path")
28112818
if path:
2812-
# Only remove 'path' if we're showing children of a directory
28132819
base_qs = super().get_queryset()
28142820
if base_qs.filter(path=path, type="directory").exists():
28152821
data = kwargs.get("data")
@@ -2861,7 +2867,6 @@ def get_filterset_kwargs(self, filterset_class):
28612867
def get_queryset(self):
28622868
path = self.request.GET.get("path")
28632869
base_qs = super().get_queryset()
2864-
# Default: all resources for the project
28652870
queryset = base_qs
28662871
if path:
28672872
dir_qs = base_qs.filter(path=path, type="directory")
@@ -2886,7 +2891,6 @@ def get_queryset(self):
28862891
"compliance_alert",
28872892
"package_data",
28882893
)
2889-
.prefetch_related("discovered_packages")
28902894
.order_by("type", "path")
28912895
)
28922896

0 commit comments

Comments
 (0)