如果接收函数位于管理命令中,则在何处注册Django信号

2024-05-12 09:00:30 发布

您现在位置:Python中文网/ 问答频道 /正文

实际上,我有一个独立的脚本,它从外部源获取数据并将其转储到django通道层。启动时,脚本查询数据库中的所有Product对象,这告诉它需要加入哪些数据源。我正在尝试实现一个信号,它告诉脚本新的Product实例何时被保存,以便它可以连接任何其他可能需要的源。 我正在使用以下代码:

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

from home.models import Product


@receiver(post_save, sender=Product)
def test(sender, **kwargs):
    print("SUCESS------------------------------------------------------{}".format(sender))

此脚本位于f/data_sources/management/commands/source.py,产品模型位于home/models.y。显然,我需要以某种方式导入中定义的“test”函数源.py但我不知道怎么做。这是一个巨大的脚本,我需要全部导入吗?我甚至不知道导入命令是什么。


Tags: 对象djangofrompytestimport脚本home