如何在get_queryset()中返回一个json?

问题描述 投票:0回答:1

如果发生错误,我想从get_queryset()返回JSON格式的错误消息。有谁知道热吗?

    def get_queryset(self):
        try:
            #some code that returns a queryset
        except:
            return Response({"status": "ERROR!"})

但显然我无法做到这一点。有谁知道如何解决这个问题?

一种可能的方法是以某种方式将消息转换为queryset并返回它。但我不知道该怎么做!

python json django django-queryset httpresponse
1个回答
2
投票

我想如果你想返回一个Response,那么get_queryset()方法就在基于类的视图中。正如名称所说,方法本身只能返回一个QuerySet,虽然在视图中你可以提出某些异常,这些异常会变成Django's built-in exception handling的响应。

你可以,例如。提出一个Http404和Django将自动响应404响应状态。

这种行为你可以customize和例如。返回JsonResponse而不是正常的响应。

© www.soinside.com 2019 - 2024. All rights reserved.