gpt4 book ai didi

django - 即使使用dispatch_uid,Post_save 一次保存也会收到两次

转载 作者:行者123 更新时间:2023-12-02 04:50:21 25 4
gpt4 key购买 nike

我的模型位于单独的文件中:

models
\
|__init__.py
|event.py
|a_thing.py
|...

__init__.py 中,我导入每个模型,然后设置信号处理。

对于 Event 模型,我需要一些 post_save 处理。

这是 __init__.py 的截断版本:

from django.db.models.signals import post_save
from django.dispatch import receiver

from core.models.event import Event

# Event
@receiver(post_save, sender = Event)
def event_post_save(sender, dispatch_uid = 'nope', **kwargs):
print kwargs.get('created')
print '------'

每当我通过控制台保存Event时,post_save中的消息就会打印一次,但每当我使用管理界面时,它就会打印两次。这可能是因为我也在 admin.py 中导入了模型。

是否有解决方法,以便我可以从管理界面保存事件对象,而无需 post_save 触发两次?

最佳答案

这可能是来自 Django/Python 的愚蠢导入。您需要dispatch_uid就像你一样,但我认为它需要成为装饰器的参数,而不是处理程序本身。

关于django - 即使使用dispatch_uid,Post_save 一次保存也会收到两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8804545/

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