2013-07-08 60 views
7

Haystack

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文件頂部的模式

回答

5

,進口車型在您的自定義SignalProcessor的方法使用get_model:

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) 
相關問題