Skip to content
This repository has been archived by the owner on Jun 29, 2020. It is now read-only.

AttributeError: module 'rest_framework.filters' has no attribute 'DjangoFilterBackend' #1171

Open
miio opened this issue Feb 24, 2018 · 2 comments

Comments

@miio
Copy link
Member

miio commented Feb 24, 2018

djangorestframeworkのバージョンが上がったので出るようになった模様

今のproduction djangorestframework==3.5.4
エラー環境 djangorestframework==3.7.7

awesto/django-shop#664
このへん?

以下トレース

[kawaz-web1.lxd] run: python3 manage.py migrate
[kawaz-web1.lxd] out: Traceback (most recent call last):
[kawaz-web1.lxd] out:   File "manage.py", line 16, in <module>
[kawaz-web1.lxd] out:     execute_from_command_line(sys.argv)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
[kawaz-web1.lxd] out:     utility.execute()
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/management/__init__.py", line 359, in execute
[kawaz-web1.lxd] out:     self.fetch_command(subcommand).run_from_argv(self.argv)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/management/base.py", line 294, in run_from_argv
[kawaz-web1.lxd] out:     self.execute(*args, **cmd_options)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/management/base.py", line 342, in execute
[kawaz-web1.lxd] out:     self.check()
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/management/base.py", line 374, in check
[kawaz-web1.lxd] out:     include_deployment_checks=include_deployment_checks,
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 62, in _run_checks
[kawaz-web1.lxd] out:     issues.extend(super(Command, self)._run_checks(**kwargs))
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/management/base.py", line 361, in _run_checks
[kawaz-web1.lxd] out:     return checks.run_checks(**kwargs)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/checks/registry.py", line 81, in run_checks
[kawaz-web1.lxd] out:     new_errors = check(app_configs=app_configs)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/checks/urls.py", line 14, in check_url_config
[kawaz-web1.lxd] out:     return check_resolver(resolver)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/core/checks/urls.py", line 24, in check_resolver
[kawaz-web1.lxd] out:     for pattern in resolver.url_patterns:
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/utils/functional.py", line 35, in __get__
[kawaz-web1.lxd] out:     res = instance.__dict__[self.name] = self.func(instance)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/urls/resolvers.py", line 313, in url_patterns
[kawaz-web1.lxd] out:     patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/utils/functional.py", line 35, in __get__
[kawaz-web1.lxd] out:     res = instance.__dict__[self.name] = self.func(instance)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/urls/resolvers.py", line 306, in urlconf_module
[kawaz-web1.lxd] out:     return import_module(self.urlconf_name)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/3.5.3/lib/python3.5/importlib/__init__.py", line 126, in import_module
[kawaz-web1.lxd] out:     return _bootstrap._gcd_import(name[level:], package, level)
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 986, in _gcd_import
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 969, in _find_and_load
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap_external>", line 673, in exec_module
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
[kawaz-web1.lxd] out:   File "/home/kawaz.org/releases/20180224132451/src/kawaz/urls.py", line 15, in <module>
[kawaz-web1.lxd] out:     url(r'^api/', include('kawaz.api.urls')),
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/kawaz_353/lib/python3.5/site-packages/django/conf/urls/__init__.py", line 50, in include
[kawaz-web1.lxd] out:     urlconf_module = import_module(urlconf_module)
[kawaz-web1.lxd] out:   File "/home/kawaz.org/.pyenv/versions/3.5.3/lib/python3.5/importlib/__init__.py", line 126, in import_module
[kawaz-web1.lxd] out:     return _bootstrap._gcd_import(name[level:], package, level)
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 986, in _gcd_import
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 969, in _find_and_load
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap_external>", line 673, in exec_module
[kawaz-web1.lxd] out:   File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
[kawaz-web1.lxd] out:   File "/home/kawaz.org/releases/20180224132451/src/kawaz/api/urls.py", line 3, in <module>
[kawaz-web1.lxd] out:     from kawaz.apps.stars.api.views import StarViewSet
[kawaz-web1.lxd] out:   File "/home/kawaz.org/releases/20180224132451/src/kawaz/apps/stars/api/views.py", line 2, in <module>
[kawaz-web1.lxd] out:     from kawaz.api.views import KawazGenericViewSet
[kawaz-web1.lxd] out:   File "/home/kawaz.org/releases/20180224132451/src/kawaz/api/views.py", line 10, in <module>
[kawaz-web1.lxd] out:     class KawazGenericViewSet(GenericViewSet):
[kawaz-web1.lxd] out:   File "/home/kawaz.org/releases/20180224132451/src/kawaz/api/views.py", line 28, in KawazGenericViewSet
[kawaz-web1.lxd] out:     filters.DjangoFilterBackend,
[kawaz-web1.lxd] out: AttributeError: module 'rest_framework.filters' has no attribute 'DjangoFilterBackend'
@giginet
Copy link
Member

giginet commented Mar 11, 2018

とりあえず3.5.4に固定しようかー

@prakher1992
Copy link

import django_filters.rest_framework
class searchView(viewsets.ModelViewSet):
filter_backends = (django_filters.rest_framework.DjangoFilterBackend,filters.OrderingFilter,)

Alternatively, you could do

from django_filters.rest_framework import DjangoFilterBackend
class searchView(viewsets.ModelViewSet):
filter_backends = (DjangoFilterBackend, filters.OrderingFilter,)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants