我正在使用 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
. 不过,我想过滤这个查询集,以便以一种简单的方式快速访问未读消息。我知道我总是可以过滤 queryset user.messages_received.filter(read=False)
,但我想直接在模板中获取它们,可能像这样:
<a href="{% url inbox %}"> Inbox ({{ user.unread_messages.count }})</a>
我怀疑我想做一个经理,但我不知道如何写或在哪里附加它。
提前致谢。