ImportError: cannot import name 'DjangoFilterBackend'
ImportError: cannot import name 'DjangoFilterBackend'
升级到 Django REST framework 3.7
后出现以下错误
File "/home/jpg/Projects/django2x/sample/views.py", line 24, in <module>
from rest_framework.filters import DjangoFilterBackend
ImportError: cannot import name 'DjangoFilterBackend'
这是我的观点
from rest_framework.filters import DjangoFilterBackend
from rest_framework import viewsets
class FooViewSet(viewsets.ModelViewSet):
queryset = Foo.objects.all()
serializer_class = Foo_Serializer
filter_backends = (DjangoFilterBackend,)
filter_fields = ('foo_bar', 'bar_foo')
rest_framework.filters.DjangoFilterBackend
在 DRF : 3.7.
So from DRF 3.7
onwards you should install django-filter 包中被描述为在视图中使用 DjangoFilterBackend
.
您可以将 < DRF 3.6
样式过滤器更新为,
from rest_framework import viewsets
<b>from django_filters import rest_framework as filters</b>
class FooViewSet(viewsets.ModelViewSet):
queryset = Foo.objects.all()
serializer_class = Foo_Serializer
filter_backends = (<b>filters.DjangoFilterBackend,</b>)
<b>filterset_fields</b> = ('foo_bar', 'bar_foo')
注意: filter_fields
属性更改为 filterset_fields
在 django-filter
的较新版本中
升级到 Django REST framework 3.7
后出现以下错误
File "/home/jpg/Projects/django2x/sample/views.py", line 24, in <module>
from rest_framework.filters import DjangoFilterBackend
ImportError: cannot import name 'DjangoFilterBackend'
这是我的观点
from rest_framework.filters import DjangoFilterBackend
from rest_framework import viewsets
class FooViewSet(viewsets.ModelViewSet):
queryset = Foo.objects.all()
serializer_class = Foo_Serializer
filter_backends = (DjangoFilterBackend,)
filter_fields = ('foo_bar', 'bar_foo')
rest_framework.filters.DjangoFilterBackend
在 DRF : 3.7.
So from DRF 3.7
onwards you should install django-filter 包中被描述为在视图中使用 DjangoFilterBackend
.
您可以将 < DRF 3.6
样式过滤器更新为,
from rest_framework import viewsets
<b>from django_filters import rest_framework as filters</b>
class FooViewSet(viewsets.ModelViewSet):
queryset = Foo.objects.all()
serializer_class = Foo_Serializer
filter_backends = (<b>filters.DjangoFilterBackend,</b>)
<b>filterset_fields</b> = ('foo_bar', 'bar_foo')
注意: filter_fields
属性更改为 filterset_fields
在 django-filter