summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2022-08-03 15:45:09 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-08-03 19:51:25 +0200
commit0638b4e23dbabdcf7d7a6f2a2d5b95b980dece78 (patch)
tree0ffff215d59a83c10f458176085388619134e615
parenta2792d09ada3e6f4513d145cc176f5e0f0a29482 (diff)
downloaddjango-0638b4e23dbabdcf7d7a6f2a2d5b95b980dece78.tar.gz
Fixed #33888 -- Fixed get_select2_language() crash with no language activated.
Regression in 3079133c73f3b8b0e929673b06b62dce1f54be71.
-rw-r--r--django/contrib/admin/widgets.py2
-rw-r--r--docs/releases/4.1.1.txt3
-rw-r--r--tests/admin_widgets/test_autocomplete_widget.py1
3 files changed, 5 insertions, 1 deletions
diff --git a/django/contrib/admin/widgets.py b/django/contrib/admin/widgets.py
index d48500e356..c7d5db209e 100644
--- a/django/contrib/admin/widgets.py
+++ b/django/contrib/admin/widgets.py
@@ -456,7 +456,7 @@ SELECT2_TRANSLATIONS.update({"zh-hans": "zh-CN", "zh-hant": "zh-TW"})
def get_select2_language():
lang_code = get_language()
supported_code = SELECT2_TRANSLATIONS.get(lang_code)
- if supported_code is None:
+ if supported_code is None and lang_code is not None:
# If 'zh-hant-tw' is not supported, try subsequent language codes i.e.
# 'zh-hant' and 'zh'.
i = None
diff --git a/docs/releases/4.1.1.txt b/docs/releases/4.1.1.txt
index 67b0898e0e..2d705f6a99 100644
--- a/docs/releases/4.1.1.txt
+++ b/docs/releases/4.1.1.txt
@@ -11,3 +11,6 @@ Bugfixes
* Reallowed, following a regression in Django 4.1, using ``GeoIP2()`` when GEOS
is not installed (:ticket:`33886`).
+
+* Fixed a regression in Django 4.1 that caused a crash of admin's autocomplete
+ widgets when translations are deactivated (:ticket:`33888`).
diff --git a/tests/admin_widgets/test_autocomplete_widget.py b/tests/admin_widgets/test_autocomplete_widget.py
index e2827b9147..ec0823a0da 100644
--- a/tests/admin_widgets/test_autocomplete_widget.py
+++ b/tests/admin_widgets/test_autocomplete_widget.py
@@ -179,6 +179,7 @@ class AutocompleteMixinTests(TestCase):
("sr-cyrl", "sr-Cyrl"),
("zh-hans", "zh-CN"),
("zh-hant", "zh-TW"),
+ (None, None),
)
for lang, select_lang in languages:
with self.subTest(lang=lang):