@@ -25,19 +25,27 @@ def handle_model(self, model):
25
25
# operation.
26
26
def _setup_save (self , model = None ):
27
27
model = self .handle_model (model )
28
- signals .post_save .connect (self .enqueue_save , sender = model )
28
+ signals .post_save .connect (self ._enqueue_save , sender = model , dispatch_uid = CelerySearchIndex )
29
29
30
30
def _setup_delete (self , model = None ):
31
31
model = self .handle_model (model )
32
- signals .post_delete .connect (self .enqueue_delete , sender = model )
32
+ signals .post_delete .connect (self ._enqueue_delete , sender = model , dispatch_uid = CelerySearchIndex )
33
33
34
34
def _teardown_save (self , model = None ):
35
35
model = self .handle_model (model )
36
- signals .post_save .disconnect (self .enqueue_save , sender = model )
36
+ signals .post_save .disconnect (self ._enqueue_save , sender = model , dispatch_uid = CelerySearchIndex )
37
37
38
38
def _teardown_delete (self , model = None ):
39
39
model = self .handle_model (model )
40
- signals .post_delete .disconnect (self .enqueue_delete , sender = model )
40
+ signals .post_delete .disconnect (self ._enqueue_delete , sender = model , dispatch_uid = CelerySearchIndex )
41
+
42
+ def _enqueue_save (self , instance , ** kwargs ):
43
+ if not getattr (instance , 'skip_indexing' , False ):
44
+ self .enqueue_save (instance , ** kwargs )
45
+
46
+ def _enqueue_delete (self , instance , ** kwargs ):
47
+ if not getattr (instance , 'skip_indexing' , False ):
48
+ self .enqueue_delete (instance , ** kwargs )
41
49
42
50
def enqueue_save (self , instance , ** kwargs ):
43
51
return self .enqueue ('update' , instance )
0 commit comments