むしろ、models.pyからsignals.pyを含めると、Djangoとsignalsで古い二重インポートの問題が発生します
シグナル用に「1回だけ実行する」コードを入れる必要はありませんが、どうしても必要な場合はそうするかもしれません。それはちょうどそのような愚かなハックのようです。
ともかく、
私がsignals.pyファイルを持っていて、シグナルの1つがmodels.pyで定義されたオブジェクトの1つに対するものである場合、そのアノテーションを作成するにはどうすればよいですか?
モデルを含めると、Pythonが紛らわしいことに、まだつまずいているように見える、古い「循環参照」の問題が発生します。でも2012年だけです。
get_modelを使って実験しましたが、うまくいかないようです... models.pyファイル内のすべてのモデルのすべての保存に対してシグナルが呼び出されるようになりました。
これが注釈であり、それが今どのように見えるかです:
@receiver(pre_save, sender=get_model('myapp.models','Story'))
私も試しました
@receiver(pre_save, sender=Story)
上記に対応しfrom myapp.models import Story
ますが、上記のインポートエラーが発生しました。
私は何をしますか?