fix product type

This commit is contained in:
Dmitriy Kuzmenko 2019-11-12 02:28:33 +03:00
parent c433c18c60
commit ec96c32453
6 changed files with 85 additions and 81 deletions

View File

@ -27,8 +27,10 @@ class Command(BaseCommand):
name = currency_dict['name'] name = currency_dict['name']
if name: if name:
slug = slugify(name) slug = slugify(name)
code = currency_dict['code']
currency, _ = Currency.objects.get_or_create( currency, _ = Currency.objects.get_or_create(
slug=slug, slug=slug,
code=code
) )
currency.name = {"en-GB": name} currency.name = {"en-GB": name}
currency.sign = currency_dict["symbol"] currency.sign = currency_dict["symbol"]

View File

@ -22,7 +22,8 @@ class Command(BaseCommand):
# Make Tag # Make Tag
new_tag, created = Tag.objects.get_or_create(category=tag_cat, value=old_tag.value) new_tag, created = Tag.objects.get_or_create(category=tag_cat, value=old_tag.value)
if created: if created:
new_tag.label = {'en-GB': new_tag.value} text_value = ' '.join(new_tag.value.split('_'))
new_tag.label = {'en-GB': text_value}
new_tag.save() new_tag.save()
for id in old_id_list: for id in old_id_list:
if isinstance(id, int): if isinstance(id, int):

View File

@ -24,7 +24,7 @@ class GroupConcat(Aggregate):
def transfer_news(): def transfer_news():
news_type, _ = NewsType.objects.get_or_create(name='News') news_type, _ = NewsType.objects.get_or_create(name='News')
tag_cat, _ = TagCategory.objects.get_or_create(index_name='tag', public=True) tag_cat, _ = TagCategory.objects.get_or_create(index_name='tag')
news_type.tag_categories.add(tag_cat) news_type.tag_categories.add(tag_cat)
news_type.save() news_type.save()

View File

@ -12,9 +12,10 @@ class Command(BaseCommand):
create_counter = 0 create_counter = 0
for product_type in product_types: for product_type in product_types:
subtype, created = ProductType.objects.get_or_create(**{ subtype, created = ProductType.objects.get_or_create(**{
'name': {settings.FALLBACK_LOCALE: product_type},
'index_name': product_type 'index_name': product_type
}) })
if created: if created:
subtype.name = {settings.FALLBACK_LOCALE: product_type}
subtype.save()
created += 1 created += 1
self.stdout.write(self.style.WARNING(f'Created: {create_counter}')) self.stdout.write(self.style.WARNING(f'Created: {create_counter}'))

View File

@ -1 +1 @@
from search_indexes.signals import update_document # from search_indexes.signals import update_document

View File

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