2012-03-20 7 views

答えて

8

はい、クエリーセットからインスタンスを作成してもpre_init/post_initが送信されます。

はそれを試して、それは私の言葉を服用しないでください例えば:

def pre_init_callback(sender, **kwargs): 
    print 'pre_init', sender, kwargs 
pre_init.connect(pre_init_callback) 

def post_init_callback(sender, **kwargs): 
    print 'post_init', sender, kwargs 
post_init.connect(post_init_callback) 

ウィル出力何かのように:

In [5]: list(Profile.objects.all()) 
pre_init <class 'testapp.models.Profile'> {'signal': <django.dispatch.dispatcher.Signal object at 0x15e6450>, 'args': (1, False, None), 'kwargs': {}} 
post_init <class 'testapp.models.Profile'> {'instance': <Profile: Profile object>, 'signal': <django.dispatch.dispatcher.Signal object at 0x15e6490>} 
pre_init <class 'testapp.models.Profile'> {'signal': <django.dispatch.dispatcher.Signal object at 0x15e6450>, 'args': (2, False, None), 'kwargs': {}} 
post_init <class 'testapp.models.Profile'> {'instance': <Profile: Profile object>, 'signal': <django.dispatch.dispatcher.Signal object at 0x15e6490>} 
Out[5]: [<Profile: Profile object>, <Profile: Profile object>] 
関連する問題