Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在get_queryset()中返回json?_Python_Json_Django_Django Queryset_Httpresponse - Fatal编程技术网

Python 如何在get_queryset()中返回json?

Python 如何在get_queryset()中返回json?,python,json,django,django-queryset,httpresponse,Python,Json,Django,Django Queryset,Httpresponse,如果发生错误,我想从get_queryset()返回JSON格式的错误消息。有人知道怎么做吗 def get_queryset(self): try: #some code that returns a queryset except: return Response({"status": "ERROR!"}) 但很明显我做不到。 有人知道如何解决这个问题吗 一种可能的方法是以某种方式将消息转换为query

如果发生错误,我想从get_queryset()返回JSON格式的错误消息。有人知道怎么做吗

    def get_queryset(self):
        try:
            #some code that returns a queryset
        except:
            return Response({"status": "ERROR!"})
但很明显我做不到。 有人知道如何解决这个问题吗


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

我假设,如果要返回
响应
get\u queryset()
方法位于基于类的视图中。顾名思义,该方法本身只能返回
QuerySet
,尽管在视图中可以引发某些异常,这些异常会被转换为响应

例如,您可以提出一个请求,Django将自动响应404响应状态


这种行为可以返回
JsonResponse
,而不是正常的响应。

我想如果要返回
响应
,则
get\u queryset()
方法在基于类的视图中。顾名思义,该方法本身只能返回
QuerySet
,尽管在视图中可以引发某些异常,这些异常会被转换为响应

例如,您可以提出一个请求,Django将自动响应404响应状态


这种行为你可以返回一个
JsonResponse
,而不是正常的响应。

这不是你想做的事情
get\u queryset
应该返回一个queryset,因此命名。您需要在视图中的其他位置执行此操作。
get\u queryset
是ModelManager上的一种方法。您介意用包含实现get_queryset()的类的代码片段更新您的问题吗?这不是您想要做的事情
get\u queryset
应该返回一个queryset,因此命名。您需要在视图中的其他位置执行此操作。
get\u queryset
是ModelManager上的一种方法。您介意用包含实现get_queryset()的类的代码片段更新您的问题吗?