Как фильтровать несколько сообщений в 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,
    }
Вернуться на верх