django rest 框架 detail_route 在 get 方法中不起作用

狮子座什么

我使用ModelViewSet如下定义了一个视图集

我试图重新定义GET做类似的东西正从芹菜一些方法。但这部分代码不起作用,它就像标准 API 一样,并没有执行我在get_job_detail函数中编写的内容

我应该如何正确定义“detail_route”功能。

视图.py

class JobViewSet(viewsets.ModelViewSet):
    queryset = job.objects.all()
    serializer_class = JobSerializer

    @detail_route(methods=['get'])
    def get_job_detail(self, request, pk=None):
        # print('these part wont proceed')
        job_item = self.get_object()
        if job_item.isReady or job_item.isSuccessful:
            return Response(self.serializer_class(job_item).data)
        celeryjob = sometask.AsyncResult(pk)
        celeryjob.get()
        if celeryjob.state == 'SUCCESS':
            job_item.state = celeryjob.state
            job_item.result = celeryjob.result
            job_item.isReady = True
            job_item.isSuccessful = True
            job_item.save()
        if celeryjob.state == 'FAILURE':
            job_item.state = celeryjob.state
            job_item.result = celeryjob.result
            job_item.isReady = True
            job_item.isSuccessful = False
            job_item.save()
        return Response(self.serializer_class(job_item).data)

网址.py

from django.conf.urls import url, include

from apply_api import views
from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register(r'job',views.JobViewSet)

urlpatterns = [
    url(r'^', include(router.urls)),
]
棕熊

现在你的正确 url 是:/job/<pk>/get_job_detail如果你只想:/job/<pk>你不需要使用@detail_route只需将你的方法重命名模型视图集的部分类之一def retrieve(self, request, *args, **kwargs):更多细节retrievemodelmixin

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django rest框架:在detail_route中查询参数

来自分类Dev

@detail_route在Django Rest框架中不支持分页

来自分类Dev

@detail_route在Django Rest框架中不支持分页

来自分类Dev

django rest框架-使用detail_route和detail_list

来自分类Dev

在Django Rest Framework中添加特定的方法处理程序detail_route

来自分类Dev

特定网址的Django-rest-framework @detail_route

来自分类Dev

特定网址的Django-rest-framework @detail_route

来自分类Dev

使用Django Rest Framework> 2.4通过@detail_route获取父级的子级

来自分类Dev

使用Django Rest Framework通过ordering查询参数订购detail_route

来自分类Dev

Django rest框架DjangoFilterBackend icontains不起作用

来自分类Dev

Django rest框架,执行更新不起作用

来自分类Dev

Django Rest框架中的get_queryset方法和ViewSets

来自分类Dev

在Django Rest框架中过滤

来自分类Dev

Django Rest框架中的IntegrityError

来自分类Dev

在Django Rest框架中过滤

来自分类Dev

令牌身份验证在Django Rest框架上的生产中不起作用

来自分类Dev

django rest框架的write_only = True和required = False组合不起作用

来自分类Dev

在Django REST框架的API根目录中包含list_route方法

来自分类Dev

Django REST框架-每个方法的单独权限

来自分类Dev

django rest框架更新方法

来自分类Dev

Django Rest框架中的HTTP 403

来自分类Dev

如何限制Django Rest框架中的动作

来自分类Dev

在Django Rest框架中更新JSONField

来自分类Dev

在Django Rest框架中添加IsAuthenticatedOrReadOnly权限

来自分类Dev

在 django rest 框架中获取当前用户

来自分类Dev

django rest 框架中的多对多验证

来自分类Dev

在 Django Rest 框架中获取或创建

来自分类Dev

get_queryset不会影响Django rest框架ModelViewSet中的查询

来自分类Dev

Django rest框架-PrimaryKeyRelatedField

Related 相关文章

  1. 1

    Django rest框架:在detail_route中查询参数

  2. 2

    @detail_route在Django Rest框架中不支持分页

  3. 3

    @detail_route在Django Rest框架中不支持分页

  4. 4

    django rest框架-使用detail_route和detail_list

  5. 5

    在Django Rest Framework中添加特定的方法处理程序detail_route

  6. 6

    特定网址的Django-rest-framework @detail_route

  7. 7

    特定网址的Django-rest-framework @detail_route

  8. 8

    使用Django Rest Framework> 2.4通过@detail_route获取父级的子级

  9. 9

    使用Django Rest Framework通过ordering查询参数订购detail_route

  10. 10

    Django rest框架DjangoFilterBackend icontains不起作用

  11. 11

    Django rest框架,执行更新不起作用

  12. 12

    Django Rest框架中的get_queryset方法和ViewSets

  13. 13

    在Django Rest框架中过滤

  14. 14

    Django Rest框架中的IntegrityError

  15. 15

    在Django Rest框架中过滤

  16. 16

    令牌身份验证在Django Rest框架上的生产中不起作用

  17. 17

    django rest框架的write_only = True和required = False组合不起作用

  18. 18

    在Django REST框架的API根目录中包含list_route方法

  19. 19

    Django REST框架-每个方法的单独权限

  20. 20

    django rest框架更新方法

  21. 21

    Django Rest框架中的HTTP 403

  22. 22

    如何限制Django Rest框架中的动作

  23. 23

    在Django Rest框架中更新JSONField

  24. 24

    在Django Rest框架中添加IsAuthenticatedOrReadOnly权限

  25. 25

    在 django rest 框架中获取当前用户

  26. 26

    django rest 框架中的多对多验证

  27. 27

    在 Django Rest 框架中获取或创建

  28. 28

    get_queryset不会影响Django rest框架ModelViewSet中的查询

  29. 29

    Django rest框架-PrimaryKeyRelatedField

热门标签

归档