Django rest框架错误对象X没有属性'get_extra_actions'

问题描述 投票:0回答:1

我想向我的API添加一些搜索功能,但我遵循了this simple guide,但仍然出现错误

类型对象'ClientViewSet'没有属性'get_extra_actions'


我的设置

版本

  • Django:2.2.5
  • Django Rest Framework:3.11.0
  • Python:3.8.2

models.py

class Client(models.Model):
    phone = models.CharField(max_length=10)

urls.py

router = routers.DefaultRouter()
router.register(r'clients', ClientViewSet)

urlpatterns = [
    path('api/', include(router.urls)),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
]

serializers.py

class ClientSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Client
        fields = '__all__'

views.py

class ClientViewSet(generics.ListAPIView):
    queryset = Client.objects.all()
    serializer_class = ClientSerializer
    filter_backends = [filters.SearchFilter]
    search_fields = ['phone']
python django django-rest-framework
1个回答
0
投票
“您已经将其称为一个视图集,但并没有成为一个视图集;您从APIView继承,它是一个独立的常规视图,而不是一个视图集。

视图集需要从viewsset.ViewSet继承。“

https://stackoverflow.com/a/49721133/8932675

© www.soinside.com 2019 - 2024. All rights reserved.