Skip to content

Commit b2d1e20

Browse files
committed
Use optimized queryset in risk pipeline
- Prefetch related vulnerability, severities, references, and exploits for better performance Signed-off-by: Keshav Priyadarshi <[email protected]>
1 parent 16cb2f0 commit b2d1e20

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

vulnerabilities/pipelines/compute_package_risk.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,13 @@ def steps(cls):
2929
return (cls.add_package_risk_score,)
3030

3131
def add_package_risk_score(self):
32-
affected_packages = Package.objects.filter(
33-
affected_by_vulnerabilities__isnull=False
32+
affected_packages = (
33+
Package.objects.filter(affected_by_vulnerabilities__isnull=False).prefetch_related(
34+
"affectedbypackagerelatedvulnerability_set__vulnerability",
35+
"affectedbypackagerelatedvulnerability_set__vulnerability__references",
36+
"affectedbypackagerelatedvulnerability_set__vulnerability__severities",
37+
"affectedbypackagerelatedvulnerability_set__vulnerability__exploits",
38+
)
3439
).distinct()
3540

3641
self.log(f"Calculating risk for {affected_packages.count():,d} affected package records")

0 commit comments

Comments
 (0)