Better API i hope

This commit is contained in:
Holger Sielaff
2026-02-04 16:49:23 +01:00
parent 6947b70764
commit 6aa74c5e6c
4 changed files with 24 additions and 21 deletions
+5 -4
View File
@@ -19,6 +19,7 @@ Version: 0.1.0
"""
import json
import logging
from django.db import migrations
from django.utils.translation import get_language
@@ -65,7 +66,7 @@ class ConvertTranslatableField(migrations.Operation):
def _convert_json_to_string(self, model, schema_editor):
"""Convert JSON translations to single language string"""
print(f"Converting {self.model_name}.{self.field_name} from JSON to string (language: {self.language})")
logging.debug(f"Converting {self.model_name}.{self.field_name} from JSON to string (language: {self.language})")
for obj in model.objects.all():
field_value = getattr(obj, self.field_name)
@@ -89,7 +90,7 @@ class ConvertTranslatableField(migrations.Operation):
f"UPDATE {table_name} SET {self.field_name} = %s WHERE id = %s",
[new_value, obj.pk]
)
print(f" Converted {obj.pk}: {field_value} -> {new_value}")
logging.debug(f" Converted {obj.pk}: {field_value} -> {new_value}")
except (json.JSONDecodeError, TypeError):
# Already a string, leave as-is
@@ -97,7 +98,7 @@ class ConvertTranslatableField(migrations.Operation):
def _convert_string_to_json(self, model, schema_editor):
"""Convert single language string to JSON translations"""
print(f"Converting {self.model_name}.{self.field_name} from string to JSON (language: {self.language})")
logging.debug(f"Converting {self.model_name}.{self.field_name} from string to JSON (language: {self.language})")
for obj in model.objects.all():
field_value = getattr(obj, self.field_name)
@@ -117,7 +118,7 @@ class ConvertTranslatableField(migrations.Operation):
f"UPDATE {table_name} SET {self.field_name} = %s WHERE id = %s",
[new_value, obj.pk]
)
print(f" Converted {obj.pk}: {field_value} -> {new_value}")
logging.debug(f" Converted {obj.pk}: {field_value} -> {new_value}")
def describe(self):
direction = "translatable" if self.to_translatable else "non-translatable"