仅在对话发生时过滤用户
Filtering the Users only if conversation occurred
这是我的模型
class Message(models.Model):
sender = models.ForeignKey(User, related_name="sender")
receiver = models.ForeignKey(User, related_name="receiver")
msg_content = models.TextField()
只有当当前用户向他们发送消息或他们向当前用户发送消息时,我如何才能过滤掉用户,正如我们在社交网络上看到的那样?
我试过这样的东西
users = Message.objects.filter(Q(sender=request.user) | Q(receiver=request.user))
但它不起作用。它过滤用户的次数与对话发生的次数相同。
当我使用
Message.objects.filter(Q(sender=user) | Q(receiver=user)).distinct('sender')
引发错误 "DISTINCT ON fields is not supported by this database backend" (sqlite3)
请帮我看看这段代码。提前致谢!
用户是这样的:
users = User.objects.filter(sender__receiver__pk= request.user.id)
或
users = User.objects.filter(sender__receiver= request.user)
它returns所有向当前用户发送消息的用户!
这是我的模型
class Message(models.Model):
sender = models.ForeignKey(User, related_name="sender")
receiver = models.ForeignKey(User, related_name="receiver")
msg_content = models.TextField()
只有当当前用户向他们发送消息或他们向当前用户发送消息时,我如何才能过滤掉用户,正如我们在社交网络上看到的那样?
我试过这样的东西
users = Message.objects.filter(Q(sender=request.user) | Q(receiver=request.user))
但它不起作用。它过滤用户的次数与对话发生的次数相同。
当我使用
Message.objects.filter(Q(sender=user) | Q(receiver=user)).distinct('sender')
引发错误 "DISTINCT ON fields is not supported by this database backend" (sqlite3)
请帮我看看这段代码。提前致谢!
用户是这样的:
users = User.objects.filter(sender__receiver__pk= request.user.id)
或
users = User.objects.filter(sender__receiver= request.user)
它returns所有向当前用户发送消息的用户!