Django:过滤不同的数据 [英] Django: Filtering the Distinct Data
问题描述
我正在尝试构建一个消息传递应用程序.这是我的模特,
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?
推荐答案
这是您需要做的事情,
- 获取发件人
request.user
rec-某人名 -
获取以上发送者,接收者
request.user
serder-somename
- fetch sender
request.user
rec - somename 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屋!