Как фильтровать несколько сообщений в django
недавно я сделал фильтр для сообщений, чтобы вывести все сообщения между двумя людьми
def pmessage(request, pk):
user = User.objects.get(id=pk)
message = pm.objects.filter(Q(receiver=request.user, sender=user) | Q(receiver=user, sender=request.user))
form = dmform()
context = {
'message' : message,
'form' : form,
}
это работает, только он группирует сообщения по категориям, т.е. он будет перечислять все сообщения, которые соответствуют одному критерию перед другим, независимо от того, какое сообщение пришло первым, и это противоречит моей цели.
спасибо вам
Вы можете упорядочить сообщения с помощью .order_by('created')
:
def pmessage(request, pk):
message = pm.objects.filter(
Q(receiver=request.user, sender_id=pk) |
Q(receiver_id=pk, sender=request.user)
).order_by('created')
form = dmform()
context = {
'message' : message,
'form' : form,
}