响应Django中的模型更改?

时间:2016-03-04 17:38:45

标签: django django-models model django-signals

模型更改发生时有没有办法执行代码?添加,删除或编辑Django模型对象时如何观察?

2 个答案:

答案 0 :(得分:3)

这就是django-signals的用途。您可以使用post_savepost_delete来观察模型对象。

  

Django提供了一组内置信号,让Django自己通知用户代码某些动作。

from django.db.models.signals import post_save
from django.dispatch import receiver
from myapp.models import MyModel

@receiver(post_save, sender=MyModel)
def my_handler(sender, **kwargs):
    # do whatever you want if a MyModel object is saved

答案 1 :(得分:1)

Django signals非常适合这一点。与iOS上的NSNotificationCenter类似,Django信号允许其他应用通过连接信号来通知信号事件。