【问题标题】:Responding to model changes in Django?响应 Django 中的模型更改?
【发布时间】:2016-06-18 13:45:10
【问题描述】:

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

【问题讨论】:

    标签: django django-models model django-signals


    【解决方案1】:

    这就是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
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2018-11-25
        • 2020-07-08
        • 2016-09-16
        • 1970-01-01
        • 2017-09-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-23
        相关资源
        最近更新 更多