Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python django实现订阅者_Python_Django_Rss_Publish Subscribe_Django Signals - Fatal编程技术网

python django实现订阅者

python django实现订阅者,python,django,rss,publish-subscribe,django-signals,Python,Django,Rss,Publish Subscribe,Django Signals,我有一个非常简单的web应用程序。一个学生进来,他在其中一个科目上做了一个笔记。每个主题都有一定数量的订阅者。与stackoverflow标签类似,一旦将标签添加到问题中,就会通知订阅者 类似地,在我的应用程序中,我想添加订阅者,因此,一旦为特定主题创建了便笺,该主题的所有订阅者都将被邮寄 我的数据库模型如下: class Subject(models.Model): //some vlaues here class Note(models.Model): title = model

我有一个非常简单的web应用程序。一个学生进来,他在其中一个科目上做了一个笔记。每个主题都有一定数量的订阅者。与stackoverflow标签类似,一旦将标签添加到问题中,就会通知订阅者

类似地,在我的应用程序中,我想添加订阅者,因此,一旦为特定主题创建了便笺,该主题的所有订阅者都将被邮寄

我的数据库模型如下:

class Subject(models.Model):
//some vlaues here 

class Note(models.Model):
    title = models.CharField(max_length=200)
    description = models.TextField()
    author = models.ForeignKey(User)
    subject = models.ForeignKey(Subject)

class SubscriptionModel(models.Model):
    subject = models.ForeignKey(Subject)
    subscriber = models.ForeignKey(User)
有两种方法可以实现它-

  • 创建便笺后,可以发出post_保存信号,向该主题的所有订户发送电子邮件

  • 可以用酒吧酒吧酒吧做点什么

  • 可以使用rss提要进行一些操作


  • 我不确定什么是可扩展的方法来实现它,任何帮助或指针都将不胜感激。

    信号是同步的,因此在save信号中进行邮件发送是不好的,因为它会减慢保存过程,并且不会扩展

    我建议通过类似于或的队列使用异步任务。您可以在post_保存信号中将任务放入队列中。这种方法可以很好地扩展,不会干扰正常的站点功能