add translation fix for tag

This commit is contained in:
Dmitriy Kuzmenko 2019-11-02 19:18:58 +03:00
parent 7de6043861
commit 914450e8c2
3 changed files with 47 additions and 3 deletions

View File

@ -0,0 +1,30 @@
from django.core.management.base import BaseCommand
from establishment.models import Establishment, EstablishmentType
from transfer import models as legacy
from tag.models import Tag, TagCategory
class Command(BaseCommand):
help = 'Add tags translation from old db to new db'
def handle(self, *args, **kwargs):
translation = legacy.MetadatumAliases.objects.all()
# Humanisation for default values
tags = Tag.objects.all()
for tag in tags:
value = tag.label
for k, v in value.items():
sp = v.split('_')
v = ' '.join([sp[0].capitalize()] + sp[1:])
tag.label[k] = v
tag.save()
for trans in translation:
tag = Tag.objects.filter(value=trans.value).first()
if tag:
tag.label.update(
{trans.locale: trans.meta_alias}
)
tag.save()

View File

@ -12,9 +12,8 @@ from utils.serializers import TranslatedField
class TagBaseSerializer(serializers.ModelSerializer): class TagBaseSerializer(serializers.ModelSerializer):
"""Serializer for model Tag.""" """Serializer for model Tag."""
# todo: refactor this label_translated = TranslatedField()
# label_translated = TranslatedField() # label_translated = serializers.CharField(source='value', read_only=True, allow_null=True)
label_translated = serializers.CharField(source='value', read_only=True, allow_null=True)
index_name = serializers.CharField(source='value', read_only=True, allow_null=True) index_name = serializers.CharField(source='value', read_only=True, allow_null=True)
class Meta: class Meta:

View File

@ -972,3 +972,18 @@ class CarouselElements(MigrateMixin):
class Meta: class Meta:
managed = False managed = False
db_table = 'carousel_elements' db_table = 'carousel_elements'
class MetadatumAliases(MigrateMixin):
"""MetadatumAliases model."""
using = 'legacy'
meta_alias = models.CharField(max_length=255, blank=True, null=True)
value = models.CharField(max_length=255, blank=True, null=True)
locale = models.CharField(max_length=255, blank=True, null=True)
created_at = models.DateTimeField()
updated_at = models.DateTimeField()
class Meta:
managed = False
db_table = 'metadatum_aliases'