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.
59 lines
1.8 KiB
Python
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,
|
|
),
|
|
),
|
|
]
|