请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

消息怎么读取,读过消息之后,未读消息的数量不应该减少吗

消息怎么读取,读过消息之后,未读消息的数量不应该减少吗

正在回答 回答被采纳积分+3

3回答

bobby 2017-04-24 09:18:59

未读消息的数量 是通过你点击进入消息之后就直接减少未读消息数量了, 没有针对某个消息可以点击的操作 所有没法做到只针对某个消息的读取问题, 除非自己去做一个详细消息的展示 但是消息过短那样做意义就不大了

0 回复 有任何疑惑可以回复我~
尤诺 2018-05-04 10:37:22

在MyMessageView里面增加几行代码:

user_messages = UserMessage.objects.get(user=request.user.id)
user_messages.has_read = True
user_messages.save()

然后把获取用户未读消息数量的函数修改一下:

def unread_nums(self):
   #获取用户未读消息的数量
   from operation.models import UserMessage
   return UserMessage.objects.filter(user=self.id, has_read=False).count()

改过之后用户点击我的消息页面后未读消息就会清零,小喇叭后面就变成0了

2 回复 有任何疑惑可以回复我~
  • .get 方法要换成filter方法
    然后user_messages是数组 要使用for循环每一个元素
    回复 有任何疑惑可以回复我~ 2018-07-08 11:57:29
Dylan_liang 2018-08-02 15:01:52

在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()

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信