7

干し草の山

haystack_signal_processorを使用すると、カスタム シグナル プロセッサを使用して、特定のモデルのインデックスを開始できます。

私のsettings.pyにあります

HAYSTACK_SIGNAL_PROCESSOR='my_app.signals.MySignalProcessor'
(これは so をインポート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 に答える