summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2023-07-06 11:29:16 +0200
committerGitHub <noreply@github.com>2023-07-06 11:29:16 +0200
commit95cdf9dc6627135f3893095892816eb3f2785e2e (patch)
treeb1a75c0ddd0eacc35af647c4900c278618f40874
parent966ecdd482167f3f6b08b00f484936c837751cb9 (diff)
Used AdminSite.is_registered() where appropriate.
-rw-r--r--django/contrib/admin/sites.py4
-rw-r--r--django/contrib/admin/utils.py3
-rw-r--r--django/contrib/admin/widgets.py6
-rw-r--r--tests/admin_ordering/tests.py2
4 files changed, 7 insertions, 8 deletions
diff --git a/django/contrib/admin/sites.py b/django/contrib/admin/sites.py
index 2e400c2e19..1e289876f8 100644
--- a/django/contrib/admin/sites.py
+++ b/django/contrib/admin/sites.py
@@ -120,7 +120,7 @@ class AdminSite:
% model.__name__
)
- if model in self._registry:
+ if self.is_registered(model):
registered_admin = str(self._registry[model])
msg = "The model %s is already registered " % model.__name__
if registered_admin.endswith(".ModelAdmin"):
@@ -156,7 +156,7 @@ class AdminSite:
if isinstance(model_or_iterable, ModelBase):
model_or_iterable = [model_or_iterable]
for model in model_or_iterable:
- if model not in self._registry:
+ if not self.is_registered(model):
raise NotRegistered("The model %s is not registered" % model.__name__)
del self._registry[model]
diff --git a/django/contrib/admin/utils.py b/django/contrib/admin/utils.py
index 5e6a400b6c..bb5f950122 100644
--- a/django/contrib/admin/utils.py
+++ b/django/contrib/admin/utils.py
@@ -139,12 +139,11 @@ def get_deleted_objects(objs, request, admin_site):
def format_callback(obj):
model = obj.__class__
- has_admin = model in admin_site._registry
opts = obj._meta
no_edit_link = "%s: %s" % (capfirst(opts.verbose_name), obj)
- if has_admin:
+ if admin_site.is_registered(model):
if not admin_site._registry[model].has_delete_permission(request, obj):
perms_needed.add(opts.verbose_name)
try:
diff --git a/django/contrib/admin/widgets.py b/django/contrib/admin/widgets.py
index 5e3416bc28..c7a79f520b 100644
--- a/django/contrib/admin/widgets.py
+++ b/django/contrib/admin/widgets.py
@@ -145,7 +145,7 @@ class ForeignKeyRawIdWidget(forms.TextInput):
def get_context(self, name, value, attrs):
context = super().get_context(name, value, attrs)
rel_to = self.rel.model
- if rel_to in self.admin_site._registry:
+ if self.admin_site.is_registered(rel_to):
# The related object is registered with the same AdminSite
related_url = reverse(
"admin:%s_%s_changelist"
@@ -222,7 +222,7 @@ class ManyToManyRawIdWidget(ForeignKeyRawIdWidget):
def get_context(self, name, value, attrs):
context = super().get_context(name, value, attrs)
- if self.rel.model in self.admin_site._registry:
+ if self.admin_site.is_registered(self.rel.model):
# The related object is registered with the same AdminSite
context["widget"]["attrs"]["class"] = "vManyToManyRawIdAdminField"
return context
@@ -268,7 +268,7 @@ class RelatedFieldWidgetWrapper(forms.Widget):
# Backwards compatible check for whether a user can add related
# objects.
if can_add_related is None:
- can_add_related = rel.model in admin_site._registry
+ can_add_related = admin_site.is_registered(rel.model)
self.can_add_related = can_add_related
# XXX: The UX does not support multiple selected values.
multiple = getattr(widget, "allow_multiple_selected", False)
diff --git a/tests/admin_ordering/tests.py b/tests/admin_ordering/tests.py
index d79e747765..486e222d01 100644
--- a/tests/admin_ordering/tests.py
+++ b/tests/admin_ordering/tests.py
@@ -148,7 +148,7 @@ class TestRelatedFieldsAdminOrdering(TestCase):
def tearDown(self):
site.unregister(Song)
- if Band in site._registry:
+ if site.is_registered(Band):
site.unregister(Band)
def check_ordering_of_field_choices(self, correct_ordering):