from django.db import migrations, models from django.db.models.functions import Lower def forwards(apps, schema_editor): if schema_editor: pass User = apps.get_model('vibes_auth', 'User') User.objects.all().update(language=Lower('language')) def backwards(apps, schema_editor): if schema_editor: pass User = apps.get_model('vibes_auth', 'User') for u in User.objects.all(): parts = u.language.split('-', 1) if len(parts) == 2: u.language = f"{parts[0].lower()}-{parts[1].upper()}" u.save(update_fields=['language']) class Migration(migrations.Migration): dependencies = [ ('vibes_auth', '0002_blacklistedtoken_outstandingtoken'), ] operations = [ migrations.RunPython(forwards, backwards), migrations.AlterField( model_name='user', name='language', field=models.CharField( choices=[ ('en-gb', 'English (British)'), ('ar-ar', 'العربية'), ('cs-cz', 'Česky'), ('da-dk', 'Dansk'), ('de-de', 'Deutsch'), ('en-us', 'English (American)'), ('es-es', 'Español'), ('fr-fr', 'Français'), ('hi-in', 'हिंदी'), ('it-it', 'Italiano'), ('ja-jp', '日本語'), ('kk-kz', 'Қазақ'), ('nl-nl', 'Nederlands'), ('pl-pl', 'Polska'), ('pt-br', 'Português'), ('ro-ro', 'Română'), ('ru-ru', 'Русский'), ('zh-hans', '简体中文'), ], default='en-gb', max_length=7, ), ), ]