Can't list versions for a repository
$ http http://localhost:8000/api/v3/repositories/e2bf7dc1-8638-420f-be13-1c60e660249f/versions/ HTTP/1.0 400 Bad Request [ "No value supplied for content filter" ]
Bug was created in this PR:
The problem is that I tried to make
http http://localhost:8000/api/v3/repositories/e2bf7dc1-8638-420f-be13-1c60e660249f/versions/?content= return a 400 error but it also affected requests where no
content filter is supplied. See the tasks endpoint as an example:
$ http http://localhost:8000/api/v3/tasks/ HTTP/1.0 200 OK $ http http://localhost:8000/api/v3/tasks/?worker= HTTP/1.0 400 Bad Request [ "No value supplied for worker filter." ]
No idea why these filters are behaving differently.
Updated by daviddavis over 5 years ago
This change seems to solve both issues but I am not sure why:
diff --git a/pulpcore/pulpcore/app/viewsets/repository.py b/pulpcore/pulpcore/app/viewsets/repository.py index b386ce9..cc54c87 100644 --- a/pulpcore/pulpcore/app/viewsets/repository.py +++ b/pulpcore/pulpcore/app/viewsets/repository.py @@ -2,7 +2,7 @@ from gettext import gettext as _ import itertools from django_filters.rest_framework import filters, filterset -from django_filters import CharFilter +from django_filters import Filter from rest_framework import decorators, mixins, serializers from pulpcore.app import tasks @@ -119,7 +119,7 @@ class ExporterFilter(filterset.FilterSet): ] -class RepositoryVersionContentFilter(CharFilter): +class RepositoryVersionContentFilter(Filter): """ Filter used to get the repository versions where some given content can be found.