Django Rest 框架 - 属性错误:'function'没有属性'get_extra_actions'



所有人。

所以我正在学习django-rest框架以及如何在Heroku上部署。我在我的应用程序中遇到了这个问题,我不知道如何解决它。

views.py:

from rest_framework import viewsets, status
from rest_framework.decorators import api_view
from rest_framework.views import Response
from api import models, serializers
from api.integrations.github import GithubApi

@api_view(['GET'])
class LibrarynViewSet(viewsets.ViewSet):
queryset = models.Library.objects.all()
serializer_class = serializers.Library(queryset, many=True)
lookup_field = "name"
def retrieve(self, request, login=None):
return Response(serializers.data)

routes.py:

from django.urls import include, path
from rest_framework.routers import DefaultRouter
from api import views
routers = DefaultRouter()
routers.register("organization", views.LibraryViewSet, basename="Library")
urlpatterns = [
path("", include(routers.urls)),
]

错误:

extra_actions = viewset.get_extra_actions()
AttributeError: 'function' object has no attribute 'get_extra_actions'

正如我所说,我正在学习,所以我不知道如何解决它

如果你能帮我,我将不胜感激。非常感谢。

您需要删除@api_view,它与视图集不兼容,无法管理您想要使用的http方法。您应该使用http_method_names属性:

class LibrarynViewSet(viewsets.ViewSet):
http_method_names = ['get',] 

最新更新