【发布时间】:2013-11-29 22:44:04
【问题描述】:
我正在用户之间创建一个消息传递应用程序。希望完全有帮助,我想出了业务逻辑,我认为会起作用。所以现在,我可以发送消息并获取特定用户(例如 A)的所有消息(发送和接收)。但是我被困在查询或分离每个用户的消息(A的所有发送/接收的消息)(例如,A和B发送/接收的消息,A和C发送/接收的消息)。下面是我的models.py。请看一看,请帮助我。或者如果有更好的出路,请告诉我。将不胜感激。谢谢。
models.py
class Thread(models.Model):
sender = models.ForeignKey(User, related_name="sender_set")
recipient = models.ForeignKey(User, related_name="recipient")
message = models.TextField()
date = models.DateTimeField(default=datetime.now)
# To get all the messages of A
>>> conversation = Thread.objects.filter(Q(sender=A) | Q(recipient=A))
[<Thread: A to B><Thread: C to A><Thread: B to A><Thread: A to C><Thread: A to B>]
如何为每个用户获取单独的conversation?希望我已经澄清了我的观点。谢谢。
【问题讨论】:
-
您想要的是获取 2 个特定用户之间的所有消息还是来自 1 个特定用户的所有消息(发送和接收)?
-
我想获得 A 和 B 以及 A 和 C 的单独消息集。
-
您是否尝试使用 2 个查询来处理此问题?
-
对不起,我不关注。你能详细说明一下吗?
标签: django django-models django-orm