python - RetrieveAPIView 生成错误“函数”对象没有属性“get_extra_actions”
问题描述
我想得到一个唯一的对象,我不需要一个完整的 API,所以我决定使用 generics.RetrieveAPIView 并阅读 DRF 的文档,但是产生了一个错误 extra_actions = viewset.get_extra_actions(), AttributeError: 'function' object has没有属性'get_extra_actions' 我不明白为什么会提到视图集。
from rest_framework.generics import RetrieveAPIView
from ..models import *
from .serializers import *
class DespachoDetail(RetrieveAPIView):
queryset = Despacho.objects.all()
serializer_class = DespachoSerializer()
好吧,这是路由文件
from django.urls import include, path
from rest_framework import routers
from .views import *
router = routers.DefaultRouter()
router.register(r'^despacho/<int:pk>', DespachoDetail.as_view(), basename='despacho-detail')
urlpatterns = router.urls
解决方案
而不是继承APIView
你必须继承一个ViewSet
.
这些改变必须对你有用,
视图.py =>
from rest_framework.viewsets import GenericViewSet
from rest_framework.mixins import RetrieveModelMixin
from ..models import *
from .serializers import *
class DespachoDetail(GenericViewSet, RetrieveModelMixin):
queryset = Despacho.objects.all()
serializer_class = DespachoSerializer()
urls.py =>
from django.urls import include, path
from rest_framework import routers
from .views import *
router = routers.DefaultRouter()
router.register(r'^despacho/<int:pk>', DespachoDetail, basename='despacho-detail')
urlpatterns = router.urls
推荐阅读
- r - 使用 stat_summary 居中标签
- wordpress - Wordpress 插件 - 查找数据字段在数据库中的存储位置
- python - 在熊猫数据框中将索引从一列移动到另一列
- perl - 进程生成具有重复结果的文件
- reactjs - 未知默认值的 PropTypes
- c# - 'fieldname' 附近的 SQL 语法错误
- android - 使用先前启动的 Activity 转换恢复 Activity 时查看可见性状态丢失
- html - 使特殊字符显示为粗体
- docker - docker-compose 配置将 external: false 更改为 external: true
- regex - xml元素之间的正则表达式,不包括相似元素之间的完整元素