ошибка python django `HttpResponse` или `HttpStreamingResponse`, возвращаемая из представления, но полученная

#python #django-views

Вопрос:

Я новичок в python, фреймворке Django rest, и мне нужна помощь с представлением

Видите ошибку, которую я продолжаю получать

     assert isinstance(response, HttpResponseBase), (
AssertionError: Expected a `Response`, `HttpResponse` or `HttpStreamingResponse` to be returned from the view, but received a `<class 'NoneType'>`
 

смотрите мой взгляд

 @api_view(('POST',))
def SeeAllMyModelCodeView(request):
    sender_ref = request.data.get('sender_ref_no')
    myModel = MyModelModel.objects.filter(sender_ref=sender_ref).first()
    serializer = SendMyModelSerializer(data=myModel)
    if serializer.is_valid():
        return Response(serializer.data)
 

Пожалуйста, посоветуйте мне, как я могу решить эту проблему

Спасибо

Комментарии:

1. Вам нужно return что — то сделать, если serializer.is_valid() что-то не получится.

2. что делать, если я хочу вернуть все, что есть в базе данных

3. как мне вернуть все, не проходя через сериализатор?

4. @MlikeEps: затем вы удаляете .first() и работаете с serializer = SendMyModelSerializer(myModel, many=True) , и return Response({'data': serializer.data})

5. спасибо, приятель, Ты гений

Ответ №1:

Ваши данные сериализатора недействительны, и в этом случае у вас нет возвращаемого значения.
Попробуйте это и посмотрите, в чем проблема с вашими данными:

 @api_view(('POST',))
def SeeAllMyModelCodeView(request):
    sender_ref = request.data.get('sender_ref_no')
    myModel = MyModelModel.objects.filter(sender_ref=sender_ref).first()
    serializer = SendMyModelSerializer(data=myModel)
    if serializer.is_valid():
        return Response(serializer.data)
    else:
        return Response(serializer.errors)