schon/vibes_auth/migrations/0003_alter_user_language.py
Egor fureunoir Gorbunov 8fb4ca3362 Features: 1) Add type annotations for various models and methods; 2) Introduce refined graphene resolvers to enhance permission handling; 3) Include type checking suppression with # type: ignore for unsupported cases.
Fixes: 1) Correct `urlsafe_base64_encode` decoding logic in tests; 2) Fix queryset access issues in resolvers; 3) Address missing or incorrect imports across multiple files.

Extra: Improve code readability with consistent naming and formatting; Add `# noinspection` annotations to suppress IDE warnings; Update `pyproject.toml` to exclude `drf.py` in MyPy checks.
2025-06-18 16:38:07 +03:00

59 lines
1.8 KiB
Python

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,
),
),
]