采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
消息怎么读取,读过消息之后,未读消息的数量不应该减少吗
未读消息的数量 是通过你点击进入消息之后就直接减少未读消息数量了, 没有针对某个消息可以点击的操作 所有没法做到只针对某个消息的读取问题, 除非自己去做一个详细消息的展示 但是消息过短那样做意义就不大了
在MyMessageView里面增加几行代码:
user_messages = UserMessage.objects.get(user=request.user.id)user_messages.has_read = Trueuser_messages.save()
然后把获取用户未读消息数量的函数修改一下:
def unread_nums(self): #获取用户未读消息的数量 from operation.models import UserMessage return UserMessage.objects.filter(user=self.id, has_read=False).count()
改过之后用户点击我的消息页面后未读消息就会清零,小喇叭后面就变成0了
.get 方法要换成filter方法 然后user_messages是数组 要使用for循环每一个元素
在MyMessageView(View)代码中添加:
user_messages = UserMessage.objects.filter(user=request.user.id)
for user_message in user_messages:
user_message.has_read = True
user_message.save()
在get_unread_nums方法中添加过滤属性has_read为False的条件:
def get_unread_nums(self):
from operation.models import UserMessage return UserMessage.objects.filter(user=self.id, has_read=False).count()
登录后可查看更多问答,登录/注册
【毕设】Python 2.7到3.6 完美适配,Django升级2.0
14.8k 81
801 4
1.6k 22
1.4k 20