@@ -151,12 +151,8 @@ def search(self, query: str = None):
151151
152152 def with_package_counts (self ):
153153 return self .annotate (
154- vulnerable_package_count = Count (
155- "affecting_packages" , distinct = True
156- ),
157- patched_package_count = Count (
158- "fixed_by_packages" , distinct = True
159- ),
154+ vulnerable_package_count = Count ("affecting_packages" , distinct = True ),
155+ patched_package_count = Count ("fixed_by_packages" , distinct = True ),
160156 )
161157
162158
@@ -237,7 +233,7 @@ def affected_packages(self):
237233 """
238234 Return a queryset of packages that are affected by this vulnerability.
239235 """
240- return self .affecting_packages
236+ return self .affecting_packages . with_is_vulnerable ()
241237
242238 @property
243239 def packages_fixing (self ):
@@ -984,6 +980,7 @@ def add_package_vulnerability_changelog(self, advisory):
984980 related_vulnerability = str (self .vulnerability ),
985981 )
986982
983+
987984class PackageRelatedVulnerabilityBase (models .Model ):
988985 """
989986 Abstract base class for package-vulnerability relations.
@@ -1077,10 +1074,12 @@ def add_package_vulnerability_changelog(self, advisory):
10771074 related_vulnerability = str (self .vulnerability ),
10781075 )
10791076
1077+
10801078class FixingPackageRelatedVulnerability (PackageRelatedVulnerabilityBase ):
10811079 class Meta (PackageRelatedVulnerabilityBase .Meta ):
10821080 verbose_name_plural = "Fixing Package Related Vulnerabilities"
10831081
1082+
10841083class AffectedByPackageRelatedVulnerability (PackageRelatedVulnerabilityBase ):
10851084 class Meta (PackageRelatedVulnerabilityBase .Meta ):
10861085 verbose_name_plural = "Affected By Package Related Vulnerabilities"
0 commit comments