检测对Django模型所做的任何更改

时间:2017-04-18 16:51:35

标签: python django django-models

我发现自己处于这样一种情况:对于多个模型说XYZ,我想知道何时发生任何变化,即任何创建,更新,删除,以便我可以执行另一个操作。我已经浏览了互联网,但我得到的只是实例审计历史上的库。是否有任何方法可以在django内置或甚至自定义解决方案/ lib中实现此功能。

我现在的想法是让这些模型发出post_save信号并听取此信息。

1 个答案:

答案 0 :(得分:1)

Model signals已经发送,而不必告诉他们,就像Django模型的一部分一样。您可以将listeners设置为已发送的信号。

pre_deletepost_delete将涵盖您的删除案例; pre_savepost_save将处理您的更新/创建。 post_save发送created参数,如果创建了新记录,则为True,否则为False