From f64fd47a7627ed6ffe2df2a32ded6ee528a784eb Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Fri, 7 Jul 2023 08:06:01 +0200 Subject: Fixed #9602 -- Added AdminSite.get_model_admin(). This allows retrieving an admin class for the given model class without using internal attributes. --- tests/admin_views/test_autocomplete_view.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'tests/admin_views') diff --git a/tests/admin_views/test_autocomplete_view.py b/tests/admin_views/test_autocomplete_view.py index 90533ea5b0..f8ab32717a 100644 --- a/tests/admin_views/test_autocomplete_view.py +++ b/tests/admin_views/test_autocomplete_view.py @@ -3,6 +3,7 @@ import json from contextlib import contextmanager from django.contrib import admin +from django.contrib.admin.sites import NotRegistered from django.contrib.admin.tests import AdminSeleniumTestCase from django.contrib.admin.views.autocomplete import AutocompleteJsonView from django.contrib.auth.models import Permission, User @@ -61,8 +62,11 @@ site.register(Toy, autocomplete_fields=["child"]) @contextmanager def model_admin(model, model_admin, admin_site=site): - org_admin = admin_site._registry.get(model) - if org_admin: + try: + org_admin = admin_site.get_model_admin(model) + except NotRegistered: + org_admin = None + else: admin_site.unregister(model) admin_site.register(model, model_admin) try: -- cgit v1.3