过滤掉数据库中的多个外键

Filtering out the database for multiple foreign key

这是我的模型

class Message(models.Model):
sender = models.ForeignKey(User, related_name="sender")
receiver = models.ForeignKey(User, related_name="receiver")

如何过滤掉两个用户之间的消息? 我做了这样的事情,它单独给出消息,我无法像我们在社交网站上看到的那样在一个列表中过滤掉它们。

data1 = Message.objects.filter(sender_id=id, receiver_id=request.user.id)
data2 = Message.objects.filter(receiver_id=id, sender_id=request.user.id)

请帮我看看这段代码。提前致谢!

我认为在这种情况下您应该使用 Q。像这样:

from django.db.models import Q

data = Message.objects.filter(
    Q(sender_id=id,receiver_id=request.user.id) | Q(sender_id=request.user.id,receiver_id=id)
)