过滤掉数据库中的多个外键
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)
)
这是我的模型
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)
)