所有人。
所以我正在学习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',]