#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)