Django:过滤不同的数据 [英] Django: Filtering the Distinct Data

查看:36
本文介绍了Django:过滤不同的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying to build a messaging app. Here's my model,

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 = Message.objects.filter(Q(sender=request.user) | Q(receiver=request.user))

在模板中,

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

如何获得独特的用户并根据我们在社交媒体平台上看到的新消息对他们重新排序?

How to get distinct users and re-order them based upon new messages as we see on social media platforms?

推荐答案

这是您需要做的事情,

  1. 获取发件人 request.user rec-某人名
  2. 获取以上发送者,接收者 request.user serder-somename

  1. fetch sender request.user rec - somename
  2. fetch receivedMsg for above sender, receiver request.user serder - somename

message_queue = Message.objects.filter(Q(receiver = rec_name,sender = request.user),Q(receiver = request.user,sender = rec_name).order_by('-created_at')

message_queue = Message.objects.filter(Q(receiver=rec_name, sender=request.user), Q(receiver=request.user, sender=rec_name).order_by('-created_at')

created_at的订单将像链子一样洗牌

order by created_at will shuffle like chain

这篇关于Django:过滤不同的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆