Как вернуть json в get_queryset ()? - PullRequest
       12

Как вернуть json в get_queryset ()?

0 голосов
/ 22 февраля 2019

Я хочу вернуть сообщение об ошибке в формате JSON из get_queryset (), если происходит ошибка.Кто-нибудь знает, как это сделать?

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

Но, очевидно, я не могу этого сделать.Кто-нибудь знает, как решить эту проблему?

Один из возможных способов - каким-то образом преобразовать сообщение в набор запросов и вернуть его.Но я не знаю, как это сделать!

1 Ответ

0 голосов
/ 22 февраля 2019

Полагаю, что если вы хотите вернуть Response, то метод get_queryset() находится внутри представления на основе классов.Как следует из названия, сам метод может возвращать только QuerySet, хотя внутри представления вы можете вызывать определенные исключения, которые превращаются в ответ с помощью встроенной обработки исключений Django .

Вы можете, например,поднимите Http404 и Django автоматически ответит 404 статусом ответа.

Это поведение вы можете настроить и т. д.вернуть JsonResponse вместо обычного ответа.

...