Используя django-channel 2, я пытаюсь реализовать уведомление о встрече для моего сайта.
Я могу получать уведомления в консоли браузера для зарегистрированного пользователя, который подключился к каналам и находится вгруппа.
Теперь проблема, с которой я сталкиваюсь, заключается в том, как сделать так, чтобы уведомления доходили до пользователей, когда они снова подключаются к сети после того, как были отключены или вышли из системы, когда новые встречи были забронированы.
Кроме того, я запутался, где мне делать запись в AppointmentNotification
модели.В сигналах или в appointment_notification
у потребителей?
Я создал сигнал в своем appointment_app
.Затем я передаю сообщение группе, и каналы в этой группе могут получать уведомление.
Имя группы каналов - это идентификатор пользователя, которому принадлежит группа, а другие пользователи находятся в его группе (как бы под его отделом),Когда назначается встреча с этим человеком, все люди в его отделе получают уведомления.Я делаю это, как обычно, и это работает до сих пор..py
class AppointmentNotification(models.Model):
receiver = models.ForeignKey(User, related_name='notification_receiver', on_delete=models.CASCADE) ##THIS GROUP which will receive the notification
sender = models.ForeignKey(Appointment, related_name='notification_sender', on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)
is_seen = models.BooleanField(_('Is seen?'), default=False)
class Meta:
verbose_name_plural = _('appointmentnotifications')
ordering = ['-created']