I’m trying to create a messaging app. This is what I did so far. 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)
Now I can filter the messages between
request.user & any user but couldn’t re-order the messages based upon the fact that if
request.user sends someone a message the person whom he send a message his name should appear at the top or if some send a message to
request.user his name should appear at the Top. As we see on social networks.
This is what I tried,
users = User.objects.filter(Q(sender__receiver=request.user) | Q(receiver__sender=request.user)).annotate(Max('receiver')).order_by('-receiver__max')
This code is working fine only when
request.user sends someone a message, whom
request.user sends a message his name re-orders at the Top but It’s not changing the ordering of messages in case if someone sends a message to
I also tried,
users = Message.objects.filter(sender=request.user, receiver=request.user).order_by("created_at")
But, I could’t filter out the distinct users. It’s showing equal number of users as messages.
How can I solve this issue?
✓ Extra quality
ExtraProxies brings the best proxy quality for you with our private and reliable proxies
✓ Extra anonymity
Top level of anonymity and 100% safe proxies – this is what you get with every proxy package
✓ Extra speed
1,ooo mb/s proxy servers speed – we are way better than others – just enjoy our proxies!
USA proxy location
We offer premium quality USA private proxies – the most essential proxies you can ever want from USA
99,9% servers uptime
No usage restrictions
Perfect for SEO
We are working 24/7 to bring the best proxy experience for you – we are glad to help and assist you!