Как настроить счетчик непрочитанных сообщений на моих моделях? - PullRequest
0 голосов
/ 03 мая 2020

Итак, я пытаюсь настроить счетчик непрочитанных сообщений с помощью простого тега и добавить его в свой шаблон. Теперь я столкнулся с проблемой, когда сообщение, отправленное другому пользователю, отображается как «непрочитанное» от моего пользователя, даже если оно отправляется другому пользователю. Очевидно, я хочу, чтобы сообщения, отправленные только МОЕМУ пользователю, отображались как непрочитанные. Я не уверен, нужно ли мне добавить в мою модель InstantMessage еще одно поле, например, «приемник», или я могу проверить пользователя по request.user в моем unread_messages_counter.py.

unread_messages_counter.py

register = template.Library()

@register.simple_tag
def unread_messages(user):


return user.sender.filter(viewed=False).count()

models.py / InsantMessage and Conversation

class Conversation(models.Model):
    members = models.ManyToManyField(settings.AUTH_USER_MODEL)


class InstantMessage(models.Model):


    sender = models.ForeignKey(settings.AUTH_USER_MODEL, related_name= 'sender',on_delete=models.CASCADE )
    conversation = models.ForeignKey(Conversation, on_delete=models.CASCADE)
    message = models.TextField()
    date = models.DateTimeField(verbose_name="Data creation",default=timezone.now(), null=False)
    viewed = models.BooleanField(default=False, db_index=True)


    def __unicode__(self):
        return self.message
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...