From aa2759d7e063e924fc1c6800a692be6f6e732acc Mon Sep 17 00:00:00 2001 From: Dmitriy Kuzmenko Date: Wed, 30 Oct 2019 19:51:33 +0300 Subject: [PATCH] fix estab tags --- apps/tag/management/commands/add_tags.py | 79 ++++++++++++------------ 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/apps/tag/management/commands/add_tags.py b/apps/tag/management/commands/add_tags.py index 5fc721b7..bf6d4f3c 100644 --- a/apps/tag/management/commands/add_tags.py +++ b/apps/tag/management/commands/add_tags.py @@ -10,53 +10,52 @@ class Command(BaseCommand): def handle(self, *args, **kwargs): - categories = legacy.KeyValueMetadata.objects.all() existing_establishment = Establishment.objects.filter(old_id__isnull=False) - for category in categories: - ESTABLISHMENT = 1 - SHOP = 2 - RESTAURANT = 3 - WINEYARD = 4 + ESTABLISHMENT = 1 + SHOP = 2 + RESTAURANT = 3 + WINEYARD = 4 - MAPPER = { - RESTAURANT: EstablishmentType.RESTAURANT, - WINEYARD: EstablishmentType.PRODUCER, - } + MAPPER = { + RESTAURANT: EstablishmentType.RESTAURANT, + WINEYARD: EstablishmentType.PRODUCER, + } - mapper_values_meta = legacy.KeyValueMetadatumKeyValueMetadatumEstablishments.objects.all() - for key, value in MAPPER.items(): - values_meta_id_list = mapper_values_meta.filter( - key_value_metadatum_establishment_id=key - ).values_list('key_value_metadatum_id') + mapper_values_meta = legacy.KeyValueMetadatumKeyValueMetadatumEstablishments.objects.all() + for key, value in MAPPER.items(): + values_meta_id_list = mapper_values_meta.filter( + key_value_metadatum_establishment_id=key + ).values_list('key_value_metadatum_id') - est_type, _ = EstablishmentType.objects.get_or_create(index_name=value) + est_type, _ = EstablishmentType.objects.get_or_create(index_name=value) - key_value_metadata = legacy.KeyValueMetadata.objects.filter(id__in=values_meta_id_list) + key_value_metadata = legacy.KeyValueMetadata.objects.filter( + id__in=values_meta_id_list) - # create TagCategory - for key_value in key_value_metadata: - tag_category, created = TagCategory.objects.get_or_create( - index_name=key_value.key_name, + # create TagCategory + for key_value in key_value_metadata: + tag_category, created = TagCategory.objects.get_or_create( + index_name=key_value.key_name, + ) + + if created: + tag_category.label = {'en-GB': key_value.key_name}, + tag_category.value_type = key_value.value_type + tag_category.save() + est_type.tag_categories.add( + tag_category ) - if created: - tag_category.label = {'en-GB': key_value.key_name}, - tag_category.value_type = key_value.value_type - tag_category.save() - est_type.tag_categories.add( - tag_category - ) + # create Tag + for tag in key_value.metadata_set.filter( + establishment__id__in=list(existing_establishment.values_list('old_id', flat=True))): - # create Tag - for tag in key_value.metadata_set.filter( - establishment__id__in=list(existing_establishment.values_list('old_id', flat=True))): - - new_tag, _ = Tag.objects.get_or_create( - label={'en-GB': tag.value}, - value=tag.value, - category=tag_category, - ) - est = existing_establishment.get(old_id=tag.establishment_id) - est.tags.add(new_tag) - est.save() + new_tag, _ = Tag.objects.get_or_create( + label={'en-GB': tag.value}, + value=tag.value, + category=tag_category, + ) + est = existing_establishment.get(old_id=tag.establishment_id) + est.tags.add(new_tag) + est.save()