gpt4 book ai didi

django - 导入错误: cannot import name 'DjangoFilterBackend'

转载 作者:行者123 更新时间:2023-12-02 04:10:21 25 4
gpt4 key购买 nike

升级到Django REST框架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 中被贬低。 .

所以来自DRF 3.7 开始您应该安装 django-filter包使用 DjangoFilterBackend 在 View 中。

<小时/>

您可以更新 < 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 - 导入错误: cannot import name 'DjangoFilterBackend' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56280897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com