1
0
mirror of https://github.com/django/django.git synced 2025-06-05 11:39:13 +00:00

Used AdminSite.is_registered() where appropriate.

This commit is contained in:
Mariusz Felisiak 2023-07-06 11:29:16 +02:00 committed by GitHub
parent 966ecdd482
commit 95cdf9dc66
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 8 deletions

View File

@ -120,7 +120,7 @@ class AdminSite:
% model.__name__ % model.__name__
) )
if model in self._registry: if self.is_registered(model):
registered_admin = str(self._registry[model]) registered_admin = str(self._registry[model])
msg = "The model %s is already registered " % model.__name__ msg = "The model %s is already registered " % model.__name__
if registered_admin.endswith(".ModelAdmin"): if registered_admin.endswith(".ModelAdmin"):
@ -156,7 +156,7 @@ class AdminSite:
if isinstance(model_or_iterable, ModelBase): if isinstance(model_or_iterable, ModelBase):
model_or_iterable = [model_or_iterable] model_or_iterable = [model_or_iterable]
for model in 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__) raise NotRegistered("The model %s is not registered" % model.__name__)
del self._registry[model] del self._registry[model]

View File

@ -139,12 +139,11 @@ def get_deleted_objects(objs, request, admin_site):
def format_callback(obj): def format_callback(obj):
model = obj.__class__ model = obj.__class__
has_admin = model in admin_site._registry
opts = obj._meta opts = obj._meta
no_edit_link = "%s: %s" % (capfirst(opts.verbose_name), obj) 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): if not admin_site._registry[model].has_delete_permission(request, obj):
perms_needed.add(opts.verbose_name) perms_needed.add(opts.verbose_name)
try: try:

View File

@ -145,7 +145,7 @@ class ForeignKeyRawIdWidget(forms.TextInput):
def get_context(self, name, value, attrs): def get_context(self, name, value, attrs):
context = super().get_context(name, value, attrs) context = super().get_context(name, value, attrs)
rel_to = self.rel.model 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 # The related object is registered with the same AdminSite
related_url = reverse( related_url = reverse(
"admin:%s_%s_changelist" "admin:%s_%s_changelist"
@ -222,7 +222,7 @@ class ManyToManyRawIdWidget(ForeignKeyRawIdWidget):
def get_context(self, name, value, attrs): def get_context(self, name, value, attrs):
context = super().get_context(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 # The related object is registered with the same AdminSite
context["widget"]["attrs"]["class"] = "vManyToManyRawIdAdminField" context["widget"]["attrs"]["class"] = "vManyToManyRawIdAdminField"
return context return context
@ -268,7 +268,7 @@ class RelatedFieldWidgetWrapper(forms.Widget):
# Backwards compatible check for whether a user can add related # Backwards compatible check for whether a user can add related
# objects. # objects.
if can_add_related is None: 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 self.can_add_related = can_add_related
# XXX: The UX does not support multiple selected values. # XXX: The UX does not support multiple selected values.
multiple = getattr(widget, "allow_multiple_selected", False) multiple = getattr(widget, "allow_multiple_selected", False)

View File

@ -148,7 +148,7 @@ class TestRelatedFieldsAdminOrdering(TestCase):
def tearDown(self): def tearDown(self):
site.unregister(Song) site.unregister(Song)
if Band in site._registry: if site.is_registered(Band):
site.unregister(Band) site.unregister(Band)
def check_ordering_of_field_choices(self, correct_ordering): def check_ordering_of_field_choices(self, correct_ordering):