From 9a79b09b07cce515988998cd8af5d2723209ecfd Mon Sep 17 00:00:00 2001 From: rvveber Date: Tue, 25 Feb 2025 15:08:59 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8(backend)=20make=20the=20'language'?= =?UTF-8?q?=20attribute=20on=20the=20User=20model=20nullable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - allow the language on the user to be unset - set the default language to be unset - helps us determine that the user has yet to set a language preference --- ...019_alter_user_language_default_to_null.py | 36 +++++++++++++++++++ src/backend/core/models.py | 4 ++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 src/backend/core/migrations/0019_alter_user_language_default_to_null.py diff --git a/src/backend/core/migrations/0019_alter_user_language_default_to_null.py b/src/backend/core/migrations/0019_alter_user_language_default_to_null.py new file mode 100644 index 00000000..94b50a88 --- /dev/null +++ b/src/backend/core/migrations/0019_alter_user_language_default_to_null.py @@ -0,0 +1,36 @@ +# Generated by Django 5.1.5 on 2025-03-04 12:23 +from django.db import migrations, models + +import core.models + + +class Migration(migrations.Migration): + dependencies = [ + ("core", "0018_update_blank_title"), + ] + + operations = [ + migrations.AlterModelManagers( + name="user", + managers=[ + ("objects", core.models.UserManager()), + ], + ), + migrations.AlterField( + model_name="user", + name="language", + field=models.CharField( + blank=True, + choices=[ + ("en-us", "English"), + ("fr-fr", "Français"), + ("de-de", "Deutsch"), + ], + default=None, + help_text="The language in which the user wants to see the interface.", + max_length=10, + null=True, + verbose_name="language", + ), + ), + ] diff --git a/src/backend/core/models.py b/src/backend/core/models.py index 9cd1e2bf..0e355879 100644 --- a/src/backend/core/models.py +++ b/src/backend/core/models.py @@ -194,9 +194,11 @@ class User(AbstractBaseUser, BaseModel, auth_models.PermissionsMixin): language = models.CharField( max_length=10, choices=lazy(lambda: settings.LANGUAGES, tuple)(), - default=settings.LANGUAGE_CODE, + default=None, verbose_name=_("language"), help_text=_("The language in which the user wants to see the interface."), + null=True, + blank=True, ) timezone = TimeZoneField( choices_display="WITH_GMT_OFFSET",