From bdf5c77f0332a92eb5992d750c1b606f4ad703bd Mon Sep 17 00:00:00 2001 From: Kuroshini Date: Wed, 22 Jan 2020 20:54:52 +0300 Subject: [PATCH] post_save async --- apps/search_indexes/signals.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/apps/search_indexes/signals.py b/apps/search_indexes/signals.py index 7b78dedd..0a6fb4f6 100644 --- a/apps/search_indexes/signals.py +++ b/apps/search_indexes/signals.py @@ -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)