响应 Django 中的模型更改?

Responding to model changes in Django?

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

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

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

Django provides a set of built-in signals that let user code get notified by Django itself of certain actions.

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