N
Size: a a a
N
JG
JG
N
JG
N
JG
DT
S
DT
T
DT
T
T
R
e
latest_message = Subquery(Message.objects.filter(
conversation_id=OuterRef("id"),
).order_by("-date").values('value')[:1])
conversations = Conversation.objects.annotate(
latest_message=latest_message,
)
R
СЕ
from rest_framework.pagination import PageNumberPagination
from rest_framework.response import Response
from rest_framework.generics import ListAPIView
DEFAULT_PAGE = 1
DEFAULT_PAGE_SIZE = 20
class BlogPostPN(PageNumberPagination):
page = DEFAULT_PAGE
page_size = DEFAULT_PAGE_SIZE
page_size_query_param = 'page_size'
def get_paginated_response(self, data):
return Response({
'count': self.page.paginator.count,
'next': self.get_next_link(),
'previous': self.get_previous_link(),
'title': 'Получить сюда заголовок в виде строки', # <== Получить сюда строку
'results': data,
})
class BlogPostView(ListApiView):
serializer_class = BlogPostSR
pagination_class = BlogPostPN
def get_queryset(self):
by = self.request.query_params.get('by')
queryset = BlogPostModel.objects.filter(activate=True)
if by is not None:
queryset = queryset.filter(user=by)
title = "Отдать отсюда заголовок"
return queryset
DT