Open mmmavis opened 4 years ago
This seems to go wrong in our pulseapi/profiles/views/profiles.py
file, on line 182, where we're apparently dealing with results that were already converted to a standard python list, rather than being a true Django queryset.
Internal Server Error: /api/pulse/v2/profiles/
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/app/.heroku/python/lib/python3.7/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/app/.heroku/python/lib/python3.7/site-packages/django/views/generic/base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "/app/.heroku/python/lib/python3.7/site-packages/rest_framework/views.py", line 505, in dispatch
response = self.handle_exception(exc)
File "/app/.heroku/python/lib/python3.7/site-packages/rest_framework/views.py", line 465, in handle_exception
self.raise_uncaught_exception(exc)
File "/app/.heroku/python/lib/python3.7/site-packages/rest_framework/views.py", line 476, in raise_uncaught_exception
raise exc
File "/app/.heroku/python/lib/python3.7/site-packages/rest_framework/views.py", line 502, in dispatch
response = handler(request, *args, **kwargs)
File "/app/.heroku/python/lib/python3.7/site-packages/rest_framework/generics.py", line 199, in get
return self.list(request, *args, **kwargs)
File "/app/.heroku/python/lib/python3.7/site-packages/rest_framework/mixins.py", line 38, in list
queryset = self.filter_queryset(self.get_queryset())
File "/app/.heroku/python/lib/python3.7/site-packages/rest_framework/generics.py", line 150, in filter_queryset
queryset = backend().filter_queryset(self.request, queryset, self)
File "/app/.heroku/python/lib/python3.7/site-packages/django_filters/rest_framework/backends.py", line 96, in filter_queryset
return filterset.qs
File "/app/pulseapi/profiles/views/profiles.py", line 182, in qs
qs = super(ProfileCustomFilter, self).qs
File "/app/.heroku/python/lib/python3.7/site-packages/django_filters/filterset.py", line 237, in qs
qs = self.filter_queryset(qs)
File "/app/.heroku/python/lib/python3.7/site-packages/django_filters/filterset.py", line 227, in filter_queryset
% (type(self).__name__, name, type(queryset).__name__)
AssertionError: Expected 'ProfileCustomFilter.name' to return a QuerySet, but got a list instead.
@benhohner old bug, but probably still worth fixing?
@Pomax if it's a fairly quick fix, yep
Profile list API returns status 500 if
name
is used as search param. As a result, this breaks the creator field we have on "add new entry" form on the front end site.creators
added in the form can't be linked to existing users in Pulse databaseCreator 1, Creator 2
will be treated as 1 creator namedCreator 1, Creator 2
e.g., https://api.mozillapulse.org/api/pulse/v2/profiles/?name=mozilla