gpt4 book ai didi

Django 排除模型发送信号

转载 作者:行者123 更新时间:2023-12-02 06:55:38 24 4
gpt4 key购买 nike

我想通过处理 post_save、delete 和 init 信号来跟踪我的模型及其 CRUD 操作,然后将有关处理的操作的条目保存到数据库中。

def handle_model_saved(sender, **kwargs):
"""Trap the signal and do whatever is needed"""
entry=CRUD_Storage()
entry.entry='Object \"'+sender._meta.module_name+'\" was saved.'
entry.save()

然后有趣的是,这是保存的递归......

我创建了模型 CRUD_Storage,我想阻止它发送 pre(post)init、delete、save 等信号。

最佳答案

我认为你无法阻止 Django 发送这些信号。

但是,您可以调整处理程序以不记录 CRUD_Storage 模型的保存。

def handle_model_saved(sender, **kwargs):
"""Trap the signal and do whatever is needed"""
if sender == CRUD_Storage:
# return early to prevent recursion of saves
return
entry=CRUD_Storage()
entry.entry='Object \"'+sender._meta.module_name+'\" was saved.'
entry.save()

关于Django 排除模型发送信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8770235/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com