我在Django有一个应用程序,一些用户可以添加和更新数据。这些用户使用Django标准表单和视图添加或更新数据。
我想实现另一个应用程序,当一个用户更新或创建数据库中的数据时,向所有用户发送新数据。我读到了可以处理web套接字的Django通道,但是在Django通道中找不到关于服务器或数据库事件的内容。
那么,当数据库事件发生时,如何向用户发送数据呢?
您可以使用信号来检测Django中的数据库事件。看看这里解释的信号: https://docs.djangoproject.com/en/2.1/topics/signals/
基本上,你要做的是:
@receiver(post_save, sender=ModelClass) def my_model_save(sender, instance, **kwargs): # this code will be executed after an instance of ModelClass is saved. Group(rate_key).send({ "text": "my message" })