summaryrefslogtreecommitdiff
path: root/django/contrib
diff options
context:
space:
mode:
authorSarah Boyce <42296566+sarahboyce@users.noreply.github.com>2024-01-05 14:08:25 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2024-01-08 09:21:54 +0100
commita9094ec1f43dca7f2a649327afcd5e6226b4959c (patch)
treed56a57d3e6a610e27ee90d24d855814118d125bd /django/contrib
parentcc56c22a24ef717cc3111e92ca146136fa518d55 (diff)
Fixed #35087 -- Reallowed filtering against foreign keys not listed in ModelAdmin.list_filters.
Regression in f80669d2f5a5f1db9e9b73ca893fefba34f955e7.
Diffstat (limited to 'django/contrib')
-rw-r--r--django/contrib/admin/options.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index af69f4cb3b..e3703f5866 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -467,7 +467,8 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass):
relation_parts = []
prev_field = None
- for part in lookup.split(LOOKUP_SEP):
+ parts = lookup.split(LOOKUP_SEP)
+ for part in parts:
try:
field = model._meta.get_field(part)
except FieldDoesNotExist:
@@ -491,7 +492,7 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass):
prev_field = field
model = field.path_infos[-1].to_opts.model
- if not relation_parts:
+ if not relation_parts or len(parts) == 1:
# Either a local field filter, or no fields at all.
return True
valid_lookups = {self.date_hierarchy}