File tree Expand file tree Collapse file tree 2 files changed +9
-0
lines changed Expand file tree Collapse file tree 2 files changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -2943,6 +2943,13 @@ def only_package_url_fields(self):
2943
2943
"""
2944
2944
return self .only ("uuid" , * PACKAGE_URL_FIELDS )
2945
2945
2946
+ def filter (self , * args , ** kwargs ):
2947
+ """Add support for using ``package_url`` as a field lookup."""
2948
+ if purl_str := kwargs .pop ("package_url" , None ):
2949
+ return super ().filter (* args , ** kwargs ).for_package_url (purl_str )
2950
+
2951
+ return super ().filter (* args , ** kwargs )
2952
+
2946
2953
2947
2954
class AbstractPackage (models .Model ):
2948
2955
"""These fields should be kept in line with `packagedcode.models.PackageData`."""
Original file line number Diff line number Diff line change @@ -1806,6 +1806,8 @@ def test_scanpipe_discovered_package_queryset_for_package_url(self):
1806
1806
for purl , expected_count in inputs :
1807
1807
qs = DiscoveredPackage .objects .for_package_url (purl )
1808
1808
self .assertEqual (expected_count , qs .count (), msg = purl )
1809
+ qs2 = DiscoveredPackage .objects .filter (package_url = purl )
1810
+ self .assertEqual (expected_count , qs2 .count (), msg = purl )
1809
1811
1810
1812
def test_scanpipe_discovered_package_queryset_vulnerable (self ):
1811
1813
p1 = DiscoveredPackage .create_from_data (self .project1 , package_data1 )
You can’t perform that action at this time.
0 commit comments