草垛
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
(信号 -> 模型 -> 设置)
如何解决此循环导入?
最佳答案
取自 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)
关于django - 如何解决涉及 haystack 的循环导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17520812/