7

草垛

haystack_signal_processor让您可以使用自定义信号处理器为某些模型启动索引。

我在我的 settings.py

HAYSTACK_SIGNAL_PROCESSOR='my_app.signals.MySignalProcessor'
(这是进口signals.py的。这是设置->信号)

然后在我的里面我signals.py
from my_app.models import my_model# 来连接 my_model
和 my_app.models.py 有from django.conf import settings
(信号 -> 模型 -> 设置)

如何解决此循环导入?

4

1 回答 1

5

取自https://github.com/PitonFoundation/atlas/commit/cc0abcb

无需在您的 signals.py 文件上导入模型,而是使用 get_model 在您的自定义 SignalProcessor 的方法中导入模型:

from django.db.models.loading import get_model

class MySignalProcessor(signals.BaseSignalProcessor):
    def setup(self):
        MyModel = get_model('myApp', 'MyModel')
        models.signals.post_save.connect(self.handle_save, sender=MyModel)
于 2013-11-09T14:09:58.703 回答