Одно и то же уведомление нескольким выбранным пользователям в django
Я пытаюсь реализовать страницу уведомлений на своем сайте на Django. Но у меня возникла проблема, как я могу отправить одно и то же уведомление нескольким пользователям.
Предположим, мне нужно отправить его только одному пользователю. тогда я могу создать модель уведомления с
noti = models.TextField()
user= models.foreignkey
is_seen = models.bool
Итак, это просто пример. но проблема в том, как я могу отправить это уведомление нескольким выбранным пользователям
важно то, что is_seen является обязательным для каждого пользователя
Надеюсь, вы поймете
Я думаю, это зависит от того, как эти данные будут расти в будущем. Потому что если все ваши уведомления идут нескольким пользователям, вы можете иметь модель Notification
с отношением ManyToMany с User
. Что-то вроде следующего
class Notification(models.Model):
message = models.TextField()
users = models.ManyToMany(User, through='UserNotification')
class UserNotification(model.Model):
user = models.ForeignKey(User)
notification = models.ForeignKey(Notification)
is_seen = models.BooleanField()
Но другой вопрос, если вы хотите создать что-то подобное тому, чем вы поделились, это тоже нормально. Я не думаю, что существует проблема добавления одного и того же сообщения для нескольких пользователей. На мой взгляд, это более гибкий подход по сравнению с M2M. Вы сможете легко расширить его в будущем по мере роста вашего приложения.
class Notification(model.Model):
message = models.TextField()
user = models.ForeignKey(User)
is_seen = models.BooleanField)
Другой случай может быть, если вы хотите иметь больше отношений и если есть необходимость добавить больше информации, связанной с уведомлением. Это дает больше возможностей для улучшения в будущем в плане хранения информации.
class Notification(model.Model):
message = models.TextField()
class UserNotification(model.Model):
user = models.ForeignKey(User)
notification = models.ForeignKey(Notification)
is_seen = models.BooleanField()