我正在使用信号(post_save
)的Django应用程序中实现一个通知系统。
我正在记录模型的重写save
方法中的更改并将其返回。我的查询是如何在为post_save
编写的函数中捕获它。
相关代码段:
myapp / models.py:
class MyModel(models.Model): # fields # # def save(self, *args, **kw): #overridden save method old = type(self).objects.get(pk=self.pk) if self.pk else None super(MyModel, self).save(*args, **kw) if old and old.attr != self.attr: # Field has changed return something # #
myapp / views.py:
from django.db.models.signals import post_save
from django.dispatch import receiver
from django.contrib.auth.models import User
from webpush import send_user_notification
@receiver(post_save, sender=MyModel)
def notifier(sender, instance, created, **kwargs):
# how to catch the return values of save here ##
payload = {"head": "Welcome!", "body": "Hello World"}
send_user_notification(user=User.objects.all()[0], payload=payload, ttl=1000)
#here User.objects.all()[0] for test user
post_save.connect(receiver=notifier,sender=MyModel)
我正在django应用程序中实现一个通知系统,为此我正在使用信号(post_save)。我正在记录模型的覆盖保存方法中的更改并将其返回。我的查询...
您必须像这样将这些“东西”保存在模型实例中: