我有一个myapp/management/__init__.py
正在注册post_syncdb
这样的处理程序:
from django.db.models import signals
from features import models as features
def create_features(app, created_models, verbosity, **kwargs):
print "Creating features!"
# Do stuff...
signals.post_syncdb.connect(create_features, sender=features)
我已经验证了以下内容:
- 两者
features
都myapp
在settings.INSTALLED_APPS
myapp.management
在syncdb运行之前被加载(通过模块级别的打印语句验证)- 该
features
应用程序正在被 处理syncdb
,并且它正在发出一个post_syncdb
信号(通过syncdb
使用--verbosity=2
. - 我对另一对应用程序使用完全相同的习语,并且正确调用了该处理程序。我比较了这两个模块,发现调用之间没有相关差异。
但是,myapp.management.create_features
从不调用。我错过了什么?