Commit adfe5112d7dbfaa914ae78fbb6ff5f4383ea6405
1 parent
a76575ca
Exists in
master
and in
2 other branches
Adding pagination in chat messages in the app
Showing
1 changed file
with
12 additions
and
1 deletions
Show diff stats
api/views.py
@@ -300,6 +300,9 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin): | @@ -300,6 +300,9 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin): | ||
300 | def get_messages(self, request): | 300 | def get_messages(self, request): |
301 | username = request.data['email'] | 301 | username = request.data['email'] |
302 | user_two = request.data['user_two'] | 302 | user_two = request.data['user_two'] |
303 | + n_page = int(request.data['page']) | ||
304 | + messages_by_page = int(request.data['page_size']) | ||
305 | + #messages_by_page = 15 | ||
303 | 306 | ||
304 | user = User.objects.get(email = username) | 307 | user = User.objects.get(email = username) |
305 | 308 | ||
@@ -312,7 +315,15 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin): | @@ -312,7 +315,15 @@ class ChatViewset(viewsets.ModelViewSet, LogMixin): | ||
312 | 315 | ||
313 | messages = TalkMessages.objects.filter((Q(talk__user_one__email = username) & Q(talk__user_two__email = user_two)) | (Q(talk__user_one__email = user_two) & Q(talk__user_two__email = username))).order_by('-create_date') | 316 | messages = TalkMessages.objects.filter((Q(talk__user_one__email = username) & Q(talk__user_two__email = user_two)) | (Q(talk__user_one__email = user_two) & Q(talk__user_two__email = username))).order_by('-create_date') |
314 | 317 | ||
315 | - serializer = ChatSerializer(messages, many = True, context = {"request_user": user}) | 318 | + page = [] |
319 | + | ||
320 | + for i in range(messages_by_page*(n_page - 1), (n_page*messages_by_page)): | ||
321 | + if i >= messages.count(): | ||
322 | + break; | ||
323 | + else: | ||
324 | + page.append(messages[i]) | ||
325 | + | ||
326 | + serializer = ChatSerializer(page, many = True, context = {"request_user": user}) | ||
316 | 327 | ||
317 | json_r = json.dumps(serializer.data) | 328 | json_r = json.dumps(serializer.data) |
318 | json_r = json.loads(json_r) | 329 | json_r = json.loads(json_r) |