Только что столкнулся с той же проблемой, и я решил, как удалить sender
из аргументов функции и проверить его внутри функции обратного вызова.
from django.db.models import signals
from features import models as features
def create_features(app, created_models, verbosity, **kwargs):
print "Creating features!"
if app != features #this will work as it compares models module instances
return
# Do stuff...
signals.post_syncdb.connect(create_features)
Таким образом, вы можете сохранить ихв вашем модуле управления, как предлагают Django документы.Я согласен, что это должно работать так, как вы предложили.Вы могли бы, вероятно, покопаться в реализации класса Signal в django.dispatch
.