2017-11-10 4 views
2

メッセージングアプリケーションを作成しようとしています。注文を保存している間にメッセージモデルから別の受信者を取得します

data = Message.objects.filter(Q(sender=request.user) | Q(receiver=request.user)).order_by('-created_at') 

テンプレートで:ここで

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

は、私が個別の受信機と再オーダーをフィルタリングする

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) 

これは私がビューにしようとしたものです。ここに私のモデルです彼らは最近(誰がソーシャルメディアプラットフォームで見ているように)request.userに新しいメッセージを最近送信したのかに基づいています。

どうすればいいですか? receiver_id-created_atによってからrequest.user、順序によって送られ

答えて

0

フィルターメッセージは、明確な卿は、動作していないreceiver_id

Message.objects.filter(sender=request.user).order_by('receiver_id','-created_at').distinct('receiver_id') 
+0

に明確な使用。それはまだメッセージと同じ数のReceiversを表示しています –

+0

私は私の答えを更新しました、これが助けてくれることを願って – Satendra

+0

前の答えは乱雑でした、私はそれを行うためにはよりクリーンなアプローチを見つけました。これを試して、私はこれが働いていることを教えてください? – Satendra

関連する問題