0
は、ここで私はrequest.user
またはrequest.user
が、最近メッセージを送った人にメッセージを送信者に基づいてユーザーを注文したい私のモデル、ジャンゴ:メッセージアプリケーション
class Message(models.Model):
sender = models.ForeignKey(User, related_name="sender")
receiver = models.ForeignKey(User, related_name="receiver")
msg_content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
です!ソーシャルネットワーク上で見ているように。 request.user
が誰かにメッセージを送信した場合にのみこれは私が試したものです
、
users = User.objects.filter(Q(sender__receiver=request.user) | Q(receiver__sender=request.user)).annotate(Max('receiver')).order_by('-receiver__max')
このコードは正常に動作しています。 request.user
にメッセージを送信した場合のメッセージの順序は変更されません。
また、私は明確なユーザーを除外するcould't、
users = Message.objects.filter(sender=request.user, receiver=request.user).order_by("created_at")
を試してみました。しかし。メッセージと同じ数のユーザーを表示しています。
この問題を解決するにはどうすればよいですか?ありがとうございました!
2番目のクエリでは、基本的に、同じ認証済みユーザーから認証されたユーザーに送信されるメッセージを探していませんか? –