Я создаю систему уведомлений с getstream.io в Django и работает хорошо, но в одной ситуации я не знаю, как правильно это сделать.
У меня есть Django и это приложение: https://github.com/GetStream/stream-django
Обычно я создаю уведомление, как в учебнике по ссылке выше, и это хорошо работает.
class Follow(models.Model, Activity):
@property
def activity_notify(self):
return [feed_manager.get_notification_feed(self.target_user.id)]
Теперь мне нужно что-то сложное. У меня 3 модели.
class Goal(models.Model, Activity):
title = models.CharField(max_length=255, verbose_name='Tytuł')
image = models.ImageField(blank=True, verbose_name='Tło')
body = HTMLField(verbose_name='Treść')
votes = GenericRelation(LikeDislike, related_query_name='goalvotes')
created_at = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(User, on_delete=models.CASCADE)
class Joined(models.Model, Activity):
goal = models.ForeignKey(Goal, on_delete=models.CASCADE, related_name='joined_goal')
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='joined_users')
created_at = models.DateTimeField(auto_now_add=True)
и
class Comment(models.Model, Activity):
body = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(User, on_delete=CASCADE)
, и моя цель - отправить уведомление о новом комментарии в цель всем пользователям, которые уже присоединились к цели. Я пытаюсь что-то вроде этого:
@property
def activity_notify(self):
return [feed_manager.get_notification_feed(Joined.user.id)]
Я знаю, что это неправильно, но у меня нет других идей, как это сделать. Может быть, у кого-то есть решение.