diff options
author | sarahboyce <sarahvboyce95@gmail.com> | 2023-03-06 15:24:39 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-03-16 08:38:44 +0100 |
commit | d2b688b966f5d30414899549412d370e1317ddb8 (patch) | |
tree | 04be2a73653c70c27d9a0bf1baeaa99b86ef8107 /tests/admin_utils | |
parent | d03dc63177ad3ba6e685e314eed45d6a8ec5cb0c (diff) | |
download | django-d2b688b966f5d30414899549412d370e1317ddb8.tar.gz |
Fixed #1873 -- Handled multi-valued query parameters in admin changelist filters.
Diffstat (limited to 'tests/admin_utils')
-rw-r--r-- | tests/admin_utils/tests.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/admin_utils/tests.py b/tests/admin_utils/tests.py index 113f5f7024..cbe6b8bb1d 100644 --- a/tests/admin_utils/tests.py +++ b/tests/admin_utils/tests.py @@ -7,6 +7,7 @@ from django.contrib import admin from django.contrib.admin import helpers from django.contrib.admin.utils import ( NestedObjects, + build_q_object_from_lookup_parameters, display_for_field, display_for_value, flatten, @@ -424,3 +425,17 @@ class UtilsTests(SimpleTestCase): def test_quote(self): self.assertEqual(quote("something\nor\nother"), "something_0Aor_0Aother") + + def test_build_q_object_from_lookup_parameters(self): + parameters = { + "title__in": [["Article 1", "Article 2"]], + "hist__iexact": ["history"], + "site__pk": [1, 2], + } + q_obj = build_q_object_from_lookup_parameters(parameters) + self.assertEqual( + q_obj, + models.Q(title__in=["Article 1", "Article 2"]) + & models.Q(hist__iexact="history") + & (models.Q(site__pk=1) | models.Q(site__pk=2)), + ) |