summaryrefslogtreecommitdiff
path: root/django/contrib/admin/views/autocomplete.py
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2023-07-07 08:06:01 +0200
committerGitHub <noreply@github.com>2023-07-07 08:06:01 +0200
commitf64fd47a7627ed6ffe2df2a32ded6ee528a784eb (patch)
tree1abf1f8f945e9b72a72d31ec00f356e1088c4538 /django/contrib/admin/views/autocomplete.py
parentd569c1dcfeb26ca9ee391e5dfeadedf2b5ed4253 (diff)
Fixed #9602 -- Added AdminSite.get_model_admin().
This allows retrieving an admin class for the given model class without using internal attributes.
Diffstat (limited to 'django/contrib/admin/views/autocomplete.py')
-rw-r--r--django/contrib/admin/views/autocomplete.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/django/contrib/admin/views/autocomplete.py b/django/contrib/admin/views/autocomplete.py
index 130848b551..051b9a31b9 100644
--- a/django/contrib/admin/views/autocomplete.py
+++ b/django/contrib/admin/views/autocomplete.py
@@ -74,6 +74,8 @@ class AutocompleteJsonView(BaseListView):
Raise Http404 if the target model admin is not configured properly with
search_fields.
"""
+ from django.contrib.admin.sites import NotRegistered
+
term = request.GET.get("term", "")
try:
app_label = request.GET["app_label"]
@@ -97,8 +99,8 @@ class AutocompleteJsonView(BaseListView):
except AttributeError as e:
raise PermissionDenied from e
try:
- model_admin = self.admin_site._registry[remote_model]
- except KeyError as e:
+ model_admin = self.admin_site.get_model_admin(remote_model)
+ except NotRegistered as e:
raise PermissionDenied from e
# Validate suitability of objects.