Django:独特和Order_by在一起

时间:2017-11-14 11:06:41

标签: python django

我正在尝试构建一个消息传递应用。这是我的模特,

class Message(models.Model):
    sender = models.ForeignKey(User, related_name="sender")
    receiver = models.ForeignKey(User, related_name="receiver")
    msg_content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

这是我在视野中尝试的,

data = User.objects.filter(Q(sender__receiver=request.user) | Q(receiver__sender=request.user)).order_by('-receiver')

此处User是django的内置用户模型

在模板中,

{% for abc in data %}
    {{ abc}} <br/>
{% endfor %}

在这里,我想过滤不同的用户,并根据request.user最近向谁发送新消息(正如我们在社交媒体平台上看到的那样)重新排序。

我用

尝试了几乎所有事情
data = Message.objects.filter(Q(sender=request.user) | Q(receiver=request.user))....(order, values, distinct)

但要么它不是重新排序,要么在一起使用时不能使用distinct()。

如何使用用户模型进行此操作?

0 个答案:

没有答案