Python Django:过滤不同的数据

Python Django:过滤不同的数据,python,django,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.DateTimeFie

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

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 %}
{%用于数据%中的abc}
{{abc.receiver}}
{%endfor%}
如何获得不同的用户,并根据我们在社交媒体平台上看到的新消息对其重新排序?

您可以尝试此代码

inbox_message = Message.objects.filter.objects.filter(receiver=request.user).order_by('-created_at')

outbox_message = Message.objects.filter.objects.filter(sender=request.user).order_by('-created_at')
你可以试试这个代码

inbox_message = Message.objects.filter.objects.filter(receiver=request.user).order_by('-created_at')

outbox_message = Message.objects.filter.objects.filter(sender=request.user).order_by('-created_at')

这是你需要做的事

  • 获取发件人
    request.user
    rec-somename
  • 获取上述发送方、接收方的receivedMsg
    request.user
    serder-somename

    message\u queue=message.objects.filter(Q(receiver=rec\u name,sender=request.user),Q(receiver=request.user,sender=rec\u name),order\u by('-created\u at'))


  • 随意创建的订单像链条一样洗牌

    这里是您需要做的事情

  • 获取发件人
    request.user
    rec-somename
  • 获取上述发送方、接收方的receivedMsg
    request.user
    serder-somename

    message\u queue=message.objects.filter(Q(receiver=rec\u name,sender=request.user),Q(receiver=request.user,sender=rec\u name),order\u by('-created\u at'))


  • order by created_at will shuffle like chain

    2消息可能有相同的用户,1个代表接收者,1个代表发送者?您想对发送者或接收者进行筛选吗?@Vicmathur Sir我想对接收者进行筛选?我按排序,给发送者、接收者|接收者-发送者,并根据时间循环对用户进行排序(不同)并设置所有()对于邮件,这将为您提供与该用户关联的所有邮件。您想订购邮件还是需要获取收件人?2封邮件可能有相同的用户,1封用于收件人,1封用于发件人?您想对发件人或收件人进行筛选?@Vicmathur Sir我想对收件人进行筛选?我按排序,给出发件人、收件人|收件人-发件人和排序基于timetry循环用户(不同)和do set_all()对于消息,这将为您提供与该用户关联的所有消息您想订购消息还是需要获得接收者?@Mohideen ibn Mohammed是对的,请仔细阅读问题Sir,我需要接收者和重新订购接收者以及消息更新。不是他们发送的消息:)这不完全是他想要的。它可以根据创建日期进行排序。他想要更多do@MohideenibnMohammed是的,先生,这不是我想要的。但是我怎么能做到呢?@Mohideen ibn Mohammed是对的,请仔细阅读问题。我需要接收者&重新订购接收者以及消息更新。不是他们的消息:)这不是他想要的。。它可以根据创建日期对其进行排序。。他想要更多do@MohideenibnMohammed是的,先生,这不是我想要的。但是我怎么能做到呢?