gault-millau/apps/search_indexes/signals.py
2019-10-28 17:32:15 +03:00

78 lines
3.0 KiB
Python

"""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)
# def update_document(sender, **kwargs):
# from establishment.models import Establishment
# app_label = sender._meta.app_label
# model_name = sender._meta.model_name
# instance = kwargs['instance']
#
# if app_label == 'location':
# if model_name == 'country':
# establishments = Establishment.objects.filter(
# address__city__country=instance)
# for establishment in establishments:
# registry.update(establishment)
# if model_name == 'city':
# establishments = Establishment.objects.filter(
# address__city=instance)
# for establishment in establishments:
# registry.update(establishment)
# if model_name == 'address':
# establishments = Establishment.objects.filter(
# address=instance)
# for establishment in establishments:
# registry.update(establishment)
#
# if app_label == 'establishment':
# # todo: remove after migration
# from establishment import models as establishment_models
# if model_name == 'establishmenttype':
# if isinstance(instance, establishment_models.EstablishmentType):
# establishments = Establishment.objects.filter(
# establishment_type=instance)
# for establishment in establishments:
# registry.update(establishment)
# if model_name == 'establishmentsubtype':
# if isinstance(instance, establishment_models.EstablishmentSubType):
# establishments = Establishment.objects.filter(
# establishment_subtypes=instance)
# for establishment in establishments:
# registry.update(establishment)
#
# if app_label == 'tag':
# if model_name == 'tag':
# establishments = Establishment.objects.filter(tags=instance)
# for establishment in establishments:
# registry.update(establishment)
#
#
# @receiver(post_save)
# def update_news(sender, **kwargs):
# from news.models import News
# app_label = sender._meta.app_label
# model_name = sender._meta.model_name
# instance = kwargs['instance']
#
# if app_label == 'location':
# if model_name == 'country':
# qs = News.objects.filter(country=instance)
# for news in qs:
# registry.update(news)
#
# if app_label == 'news':
# if model_name == 'newstype':
# qs = News.objects.filter(news_type=instance)
# for news in qs:
# registry.update(news)
#
# if app_label == 'tag':
# if model_name == 'tag':
# qs = News.objects.filter(tags=instance)
# for news in qs:
# registry.update(news)