响应 Django 中的模型更改?
Posted
技术标签:
【中文标题】响应 Django 中的模型更改?【英文标题】:Responding to model changes in Django? 【发布时间】:2016-06-18 13:45:10 【问题描述】:有没有办法在模型更改发生时执行代码?当添加、删除或编辑 Django 模型对象时,我如何观察?
【问题讨论】:
【参考方案1】:这就是django-signals 的用途。您可以使用post_save
和post_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
【讨论】:
【参考方案2】:Django signals 非常适合这个。与 ios 上的 NSNotificationCenter 类似,Django 信号允许通过连接到信号来通知其他应用程序信号事件。
【讨论】:
以上是关于响应 Django 中的模型更改?的主要内容,如果未能解决你的问题,请参考以下文章