Я пытаюсь настроить ListAPIView, чтобы вернуть пользовательский объект. По умолчанию DRF возвращает объект в массиве, мне нужен только настроенный объект.
class PostDetailApiView(ListAPIView, CreateAPIView):
serializer_class = PostSerializer
permission_classes = [AllowAny]
def get_queryset(self, request, *args, **kwargs):
response = super().get_queryset(request, *args, **kwargs)
return Response({
'status': 200,
'message': 'Post delivered!!',
'data': response.data
})
Я получаю ошибку:
lib/python3.7/site-packages/django/template/response.py", line 120, in __iter__
'The response content must be rendered before it can be iterated over.'
**django.template.response.ContentNotRenderedError: The response content must be rendered before it can be iterated over.**
[03/May/2020 02:34:14] "GET /en-us/blog/api/posts/VueJS%20blog%20in%20progress HTTP/1.1" 500 59
Ошибка исчезает, когда я возвращаю пустой массив, например :
def get_queryset(self):
queryset = []
queryset.append(Post.objects.get(title=self.kwargs["title"]))
return queryset
Как я могу вернуть такой объект из представлений на основе классов?:
{
"status": 200,
"message": "Post created!",
"data": {}
}
Спасибо