【问题标题】:Django send push notification when database value changedDjango 在数据库值更改时发送推送通知
【发布时间】:2017-01-28 12:06:58
【问题描述】:

我是 Django 的新手,我必须创建一个能够检测到数据库中的特定值何时小于 X 的服务器,然后向特定用户发送通知。

我的想法是这样的:

  1. 检测到小于 X 的值。
  2. 服务器将notification 记录添加到数据库的通知表中。
  3. 服务器向设计用户发送推送通知。

在应用程序中有一个通知视图,用于读取提到的表格。

我能够实现第 2 点和第 3 点,但第一点我不知道如何开始。

【问题讨论】:

  • 这个问题与android/ios没有任何关系。无论如何你可以在django中使用post_save信号来实现它

标签: python django notifications


【解决方案1】:

可以通过重写 save 方法或使用 post_save 信号来实现。

第一个选项可能如下所示:

class Foo(model.Model):
    # here you define your fields
    def save(self, *args, **kwargs):
        super(Foo, self).save(*args, **kwargs)
        if self.desired_field < X:
            # logic goes here

第二个选项可以这样实现:

class Foo(model.Model):
    # here you define your fields

@receiver(post_save, sender=Foo)
def notify(sender, instance, **kwargs):
    if instance.desired_field < X:
       # logic goes here

【讨论】:

  • 这可以在我的数据库进行更新时读取,然后评估该值是否小于 X,正如我所理解的那样,对吧?好的,我要测试一下。感谢您的回复@mateuszb!
  • 有效!解决方案很简单,这让我爱上了 Django 和 Python。 Dziękuję!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
  • 2017-10-24
  • 2015-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多