我正在研究一些信号监听器,它们从模型创建记录。在 django 文档中,据说侦听器应该在 models.py 中注册。因为监听器的行数很大,我想把它们的逻辑从models.py文件中分离出来。就我而言,似乎它已经导致循环导入问题。在保持代码分离的同时避免这个问题的最佳方法是什么?
目前是这样的:models.py
class foo(models.Model):
#model definition
import listeners
听众.py
import models
def fun(sender,**kwargs):
bar=models.foo()
#listener logics....
from AnotherApp.models import AnotherModel
post_save.connect(fun,sender=AnotherModel)