post_save async
This commit is contained in:
parent
e94dd03875
commit
bdf5c77f03
|
|
@ -1,7 +1,6 @@
|
|||
"""Search indexes app signals."""
|
||||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
from django_elasticsearch_dsl.registries import registry
|
||||
|
||||
|
||||
@receiver(post_save)
|
||||
|
|
@ -31,24 +30,26 @@ def update_document(sender, **kwargs):
|
|||
@receiver(post_save)
|
||||
def update_news(sender, **kwargs):
|
||||
from news.models import News
|
||||
from search_indexes.tasks import es_update
|
||||
app_label = sender._meta.app_label
|
||||
model_name = sender._meta.model_name
|
||||
instance = kwargs['instance']
|
||||
app_label_model_name_to_filter = {
|
||||
('location', 'country'): 'country',
|
||||
# ('news', 'newstype'): 'news_type',
|
||||
('news', 'newstype'): 'news_type',
|
||||
('tag', 'tag'): 'tags',
|
||||
}
|
||||
filter_name = app_label_model_name_to_filter.get((app_label, model_name))
|
||||
if filter_name:
|
||||
qs = News.objects.filter(**{filter_name: instance})
|
||||
for product in qs:
|
||||
registry.update(product)
|
||||
for item in qs:
|
||||
es_update(item)
|
||||
|
||||
|
||||
@receiver(post_save)
|
||||
def update_product(sender, **kwargs):
|
||||
from product.models import Product
|
||||
from search_indexes.tasks import es_update
|
||||
app_label = sender._meta.app_label
|
||||
model_name = sender._meta.model_name
|
||||
instance = kwargs['instance']
|
||||
|
|
@ -65,4 +66,4 @@ def update_product(sender, **kwargs):
|
|||
if filter_name:
|
||||
qs = Product.objects.filter(**{filter_name: instance})
|
||||
for product in qs:
|
||||
registry.update(product)
|
||||
es_update(product)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user