fix estab tags
This commit is contained in:
parent
887bc92b85
commit
aa2759d7e0
|
|
@ -10,53 +10,52 @@ class Command(BaseCommand):
|
||||||
|
|
||||||
def handle(self, *args, **kwargs):
|
def handle(self, *args, **kwargs):
|
||||||
|
|
||||||
categories = legacy.KeyValueMetadata.objects.all()
|
|
||||||
existing_establishment = Establishment.objects.filter(old_id__isnull=False)
|
existing_establishment = Establishment.objects.filter(old_id__isnull=False)
|
||||||
for category in categories:
|
ESTABLISHMENT = 1
|
||||||
ESTABLISHMENT = 1
|
SHOP = 2
|
||||||
SHOP = 2
|
RESTAURANT = 3
|
||||||
RESTAURANT = 3
|
WINEYARD = 4
|
||||||
WINEYARD = 4
|
|
||||||
|
|
||||||
MAPPER = {
|
MAPPER = {
|
||||||
RESTAURANT: EstablishmentType.RESTAURANT,
|
RESTAURANT: EstablishmentType.RESTAURANT,
|
||||||
WINEYARD: EstablishmentType.PRODUCER,
|
WINEYARD: EstablishmentType.PRODUCER,
|
||||||
}
|
}
|
||||||
|
|
||||||
mapper_values_meta = legacy.KeyValueMetadatumKeyValueMetadatumEstablishments.objects.all()
|
mapper_values_meta = legacy.KeyValueMetadatumKeyValueMetadatumEstablishments.objects.all()
|
||||||
for key, value in MAPPER.items():
|
for key, value in MAPPER.items():
|
||||||
values_meta_id_list = mapper_values_meta.filter(
|
values_meta_id_list = mapper_values_meta.filter(
|
||||||
key_value_metadatum_establishment_id=key
|
key_value_metadatum_establishment_id=key
|
||||||
).values_list('key_value_metadatum_id')
|
).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
|
# create TagCategory
|
||||||
for key_value in key_value_metadata:
|
for key_value in key_value_metadata:
|
||||||
tag_category, created = TagCategory.objects.get_or_create(
|
tag_category, created = TagCategory.objects.get_or_create(
|
||||||
index_name=key_value.key_name,
|
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:
|
# create Tag
|
||||||
tag_category.label = {'en-GB': key_value.key_name},
|
for tag in key_value.metadata_set.filter(
|
||||||
tag_category.value_type = key_value.value_type
|
establishment__id__in=list(existing_establishment.values_list('old_id', flat=True))):
|
||||||
tag_category.save()
|
|
||||||
est_type.tag_categories.add(
|
|
||||||
tag_category
|
|
||||||
)
|
|
||||||
|
|
||||||
# create Tag
|
new_tag, _ = Tag.objects.get_or_create(
|
||||||
for tag in key_value.metadata_set.filter(
|
label={'en-GB': tag.value},
|
||||||
establishment__id__in=list(existing_establishment.values_list('old_id', flat=True))):
|
value=tag.value,
|
||||||
|
category=tag_category,
|
||||||
new_tag, _ = Tag.objects.get_or_create(
|
)
|
||||||
label={'en-GB': tag.value},
|
est = existing_establishment.get(old_id=tag.establishment_id)
|
||||||
value=tag.value,
|
est.tags.add(new_tag)
|
||||||
category=tag_category,
|
est.save()
|
||||||
)
|
|
||||||
est = existing_establishment.get(old_id=tag.establishment_id)
|
|
||||||
est.tags.add(new_tag)
|
|
||||||
est.save()
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user