モデルからレコードを作成するいくつかのシグナルリスナーに取り組んでいます。 djangoのドキュメントでは、リスナーはmodels.pyに登録されるべきだと言われています。リスナーはかなり大きいので、models.pyのファイルからそれらのロジックを分離したいと思います。私のケースではすでにそれが周期的なインポートの問題を引き起こしているようです。コードを分離したままでこの問題を回避する最善の方法は何ですか?django:models.pyと循環インポートの問題でレジスタリスナーを登録
現在、それはこのようなものだ: models.py
class foo(models.Model):
#model definition
import listeners
listeners.pyここ
import models
def fun(sender,**kwargs):
bar=models.foo()
#listener logics....
from AnotherApp.models import AnotherModel
post_save.connect(fun,sender=AnotherModel)
なぜあなたは定期的なインポートの問題があると思いますか? –
私は 'super(foo、self).save(* args、** kwargs)'と呼んでいますが、何らかの検索の後に "superは引数1がNoneType"のようなエラーが発生します –
ええ、そうではありません。 –