【问题标题】:Can you get the request method in a DRF ModelViewSet?你能在 DRF ModelViewSet 中获取请求方法吗?
【发布时间】:2021-03-27 16:08:41
【问题描述】:

我正在构建一个使用 Django Rest Framework 的 Django 聊天应用程序。我创建了一个扩展 ModelViewSet 以显示所有消息对象的 MessageViewSet:

class MessageViewSet(ModelViewSet):
    queryset = Message.objects.all()
    serializer_class = MessageSerializer

此聊天应用程序也使用 Channels,当用户发送 POST 请求时,我想做一些与频道相关的事情,但我找不到查看发出哪种请求的方法。有什么方法可以访问 ModelViewSet 中的请求方法吗?

【问题讨论】:

    标签: django post django-models django-rest-framework django-rest-viewsets


    【解决方案1】:

    Rest Framework viewsets 映射 http 方法:GETPUTPOSTDELETE 以查看名为 listupdatecreate 的方法, 和 destroy ;所以在你的情况下,你需要覆盖 create 方法:

    class MessageViewSet(ModelViewSet):
        queryset = Message.objects.all()
        serializer_class = MessageSerializer
    
        def create(self, request):
            print('this is a post request', request)
            ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      相关资源
      最近更新 更多