0
我发现自己在几个模型中说X
,Y
和Z
的情况下,我想知道他们在什么时候发生任何更改,即任何创建,更新,删除,以便我可以执行另一个动作。我搜索了互联网,但我得到的只是实例审计历史记录的库。有没有什么办法来完成这个内置的Django,甚至是一个自定义的解决方案/ lib将不胜感激。检测到对Django模型所做的任何更改
我现在的想法是让这些模型发出post_save
信号并收听。
我发现自己在几个模型中说X
,Y
和Z
的情况下,我想知道他们在什么时候发生任何更改,即任何创建,更新,删除,以便我可以执行另一个动作。我搜索了互联网,但我得到的只是实例审计历史记录的库。有没有什么办法来完成这个内置的Django,甚至是一个自定义的解决方案/ lib将不胜感激。检测到对Django模型所做的任何更改
我现在的想法是让这些模型发出post_save
信号并收听。
Model signals已经发送了,而不必告诉它们,只是作为Django模型的一部分。您可以将listeners设置为已发送的信号。
pre_delete
或post_delete
将覆盖您的删除案例; pre_save
和post_save
将处理您的更新/创建。 post_save
发送一个created
参数,如果创建了新记录,则为True
,否则发送False
。
您不需要“让模型发出”信号。模型自动执行。 [文档说](https://docs.djangoproject.com/en/1.11/ref/signals/#pre-save):“这是在模型的save()方法开始时发送的。” 'post_save'和其他一样。你只需要听信号。 – C14L