Django 1.4を使用して、最小限のユーザー間メッセージングアプリを作成しています。ユーザーが受信した未読メッセージをテンプレートから簡単に取得したい。私のモデルは次のようになります。
from django.contrib.auth.models import User
class Message(models.Model):
sender = models.ForeignKey(User, related_name='messages_sent')
receiver = models.ForeignKey(User, related_name='messages_received')
read = models.BooleanField(default=False)
これで、ユーザーがから受信したメッセージに簡単にアクセスできますuser.messages_received
。ただし、このクエリセットをフィルタリングして、未読メッセージに簡単にすばやくアクセスできるようにしたいと思います。クエリセットはいつでもフィルタリングできることはわかっていますがuser.messages_received.filter(read=False)
、テンプレートで直接取得したいのですが、おそらく次のようになります。
<a href="{% url inbox %}"> Inbox ({{ user.unread_messages.count }})</a>
マネージャーを作りたいのではないかと思いますが、書き方や付け方がわかりません。
前もって感謝します。