Django Rest框架属性错误:“函数”没有“获取额外操作”属性

2024-10-08 23:29:21 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好

所以我正在学习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'

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

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


Tags: djangofrompyimportviewactionsrestapi
1条回答
网友
1楼 · 发布于 2024-10-08 23:29:21

您需要删除@api_view它与要使用的管理http方法的viewset不兼容。您应该使用http_method_names属性:

class LibrarynViewSet(viewsets.ViewSet):

    http_method_names = ['get',] 

相关问题 更多 >

    热门问题