summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/contrib/admin/filters.py3
-rw-r--r--django/contrib/admin/utils.py4
2 files changed, 4 insertions, 3 deletions
diff --git a/django/contrib/admin/filters.py b/django/contrib/admin/filters.py
index 82dabe4d2c..f6833e57cb 100644
--- a/django/contrib/admin/filters.py
+++ b/django/contrib/admin/filters.py
@@ -118,6 +118,7 @@ class SimpleListFilter(ListFilter):
class FieldListFilter(ListFilter):
_field_list_filters = []
_take_priority_index = 0
+ list_separator = ','
def __init__(self, field, request, params, model, model_admin, field_path):
self.field = field
@@ -127,7 +128,7 @@ class FieldListFilter(ListFilter):
for p in self.expected_parameters():
if p in params:
value = params.pop(p)
- self.used_parameters[p] = prepare_lookup_value(p, value)
+ self.used_parameters[p] = prepare_lookup_value(p, value, self.list_separator)
def has_output(self):
return True
diff --git a/django/contrib/admin/utils.py b/django/contrib/admin/utils.py
index baaaa9e43f..42d0d96ea6 100644
--- a/django/contrib/admin/utils.py
+++ b/django/contrib/admin/utils.py
@@ -51,13 +51,13 @@ def lookup_spawns_duplicates(opts, lookup_path):
return False
-def prepare_lookup_value(key, value):
+def prepare_lookup_value(key, value, separator=','):
"""
Return a lookup value prepared to be used in queryset filtering.
"""
# if key ends with __in, split parameter into separate values
if key.endswith('__in'):
- value = value.split(',')
+ value = value.split(separator)
# if key ends with __isnull, special case '' and the string literals 'false' and '0'
elif key.endswith('__isnull'):
value = value.lower() not in ('', 'false', '0')