AttributeError: 'NoneType' object has no attribute 'override_filters'
iwaszko opened this issue · 1 comments
iwaszko commented
I might be doing something wrong but my setup seems very simple:
- I'm using the latest version of
django-rest-framework-filters
(installed with pip from github, which also installsdjango-filter
in version 2.0.0.dev1) django-rest-framework
version 3.8.2,django
version 1.11.12- in settings, I have:
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS': [
'rest_framework_filters.backends.RestFrameworkFilterBackend',
],
}
and for each ViewSet
without filter_fields
defined I'm getting the following error:
Traceback (most recent call last):
File ".../python3.6/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File ".../python3.6/site-packages/django/core/handlers/base.py", line 217, in _get_response
response = self.process_exception_by_middleware(e, request)
File ".../python3.6/site-packages/django/core/handlers/base.py", line 215, in _get_response
response = response.render()
File ".../python3.6/site-packages/django/template/response.py", line 107, in render
self.content = self.rendered_content
File ".../python3.6/site-packages/rest_framework/response.py", line 72, in rendered_content
ret = renderer.render(self.data, accepted_media_type, context)
File ".../python3.6/site-packages/rest_framework/renderers.py", line 724, in render
context = self.get_context(data, accepted_media_type, renderer_context)
File ".../python3.6/site-packages/rest_framework/renderers.py", line 701, in get_context
'filter_form': self.get_filter_form(data, view, request),
File ".../python3.6/site-packages/rest_framework/renderers.py", line 635, in get_filter_form
html = backend().to_html(request, queryset, view)
File ".../python3.6/site-packages/rest_framework_filters/backends.py", line 48, in to_html
return super(RestFrameworkFilterBackend, self).to_html(request, queryset, view)
File ".../python3.6/site-packages/django_filters/rest_framework/backends.py", line 60, in to_html
filter_class = self.get_filter_class(view, queryset)
File ".../python3.6/site-packages/rest_framework_filters/backends.py", line 36, in get_filter_class
filter_class.override_filters = noop
AttributeError: 'NoneType' object has no attribute 'override_filters'
The get_filter_class
method of DjangoFilterBackend
class in django_filters/rest_framework/backends.py
may actually return None
in cases when filter_class
and filter_fileds
are both not defined.
rpkilby commented
Removed from 1.0 milestone for tidiness, as this is a master-only bug. This will be fixed in the release.