这是我的模特
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字段”(sqlite3)
请帮我这个代码。提前谢谢!
答案 0 :(得分:1)
users = User.objects.filter(sender__receiver__pk= request.user.id)
users = User.objects.filter(sender__receiver= request.user)