Add skip_signal to utils
This commit is contained in:
parent
57d22bedcb
commit
0058a3bdd4
|
|
@ -2,9 +2,11 @@
|
||||||
from django.db.models.signals import post_save
|
from django.db.models.signals import post_save
|
||||||
from django.dispatch import receiver
|
from django.dispatch import receiver
|
||||||
from django_elasticsearch_dsl.registries import registry
|
from django_elasticsearch_dsl.registries import registry
|
||||||
|
from utils.signals import skip_signal
|
||||||
|
|
||||||
|
|
||||||
@receiver(post_save)
|
@receiver(post_save)
|
||||||
|
@skip_signal()
|
||||||
def update_document(sender, **kwargs):
|
def update_document(sender, **kwargs):
|
||||||
from establishment.models import Establishment
|
from establishment.models import Establishment
|
||||||
app_label = sender._meta.app_label
|
app_label = sender._meta.app_label
|
||||||
|
|
|
||||||
12
apps/utils/signals.py
Normal file
12
apps/utils/signals.py
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
from functools import wraps
|
||||||
|
|
||||||
|
|
||||||
|
def skip_signal():
|
||||||
|
def _skip_signal(signal_func):
|
||||||
|
@wraps(signal_func)
|
||||||
|
def _decorator(sender, instance, **kwargs):
|
||||||
|
if hasattr(instance, 'skip_signal'):
|
||||||
|
return None
|
||||||
|
return signal_func(sender, instance=instance, **kwargs)
|
||||||
|
return _decorator
|
||||||
|
return _skip_signal
|
||||||
Loading…
Reference in New Issue
Block a user