【问题标题】:django rest framework: : Passing raw querydjango rest framework: : 传递原始查询
【发布时间】:2014-09-24 11:33:12
【问题描述】:

是否可以在 django 之类的 django REST 框架中执行原始查询。 https://docs.djangoproject.com/en/dev/topics/db/sql/#performing-raw-queries

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    是的,您应该可以,因为您可以自定义支持您的视图的查询集,例如

    class MyModelViewSet(viewsets.ModelViewSet):
        # The usual stuff here
        model = MyModel
    
        def list(self, request):
            queryset = MyModel.objects.raw('... your SQL here...')
            serializer = MyModelSerializer(queryset, many=True)
            return Response(serializer.data)
    

    Manager.raw() 返回RawQuerySet 这是一个QuerySet,所以你可以看到它是如何适合的

    【讨论】:

    • 但是当我加入查询时,它只显示一个表数据。是否可以。是否有另一个来获取数据连接查询?
    • somechow 我知道你的问题是从 2014 年开始的,但另一个人也有同样的疑问,这可以提供帮助:docs.djangoproject.com/en/2.0/topics/db/sql
    • 不知何故,当我将列表定义为描述时,DRF 仍在寻找 get_queryset() 方法,该方法需要基于普通模型的 QuerySet 而不是 RawQuerySet。
    猜你喜欢
    • 2019-09-04
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 2015-11-21
    • 2012-03-16
    • 2020-01-21
    • 1970-01-01
    相关资源
    最近更新 更多