summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Wehrmeyer <mail@stefanwehrmeyer.com>2022-03-18 13:37:16 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2022-03-21 10:07:32 +0100
commit561761c6606cd0e8bafb5e86c487871deb6e04e1 (patch)
tree088831565911a6b0867185b4ba9fcbc9d1aca8a2
parentb07ee98b27e58992fdc10fec0ec67e68ae1d272d (diff)
downloaddjango-561761c6606cd0e8bafb5e86c487871deb6e04e1.tar.gz
Fixed #33592 -- Fixed "View on Site" links in custom admin site.
-rw-r--r--django/contrib/admin/options.py1
-rw-r--r--tests/admin_views/tests.py15
2 files changed, 16 insertions, 0 deletions
diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
index 63f5cb2b27..4f24cc4ce1 100644
--- a/django/contrib/admin/options.py
+++ b/django/contrib/admin/options.py
@@ -347,6 +347,7 @@ class BaseModelAdmin(metaclass=forms.MediaDefiningClass):
"content_type_id": get_content_type_for_model(obj).pk,
"object_id": obj.pk,
},
+ current_app=self.admin_site.name,
)
def get_empty_value_display(self):
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 0e4a6b10be..8c020cace7 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -7930,6 +7930,21 @@ class AdminViewOnSiteTests(TestCase):
model_admin = ModelAdmin(Worker, None)
self.assertIsNone(model_admin.get_view_on_site_url(Worker()))
+ def test_custom_admin_site(self):
+ model_admin = ModelAdmin(City, customadmin.site)
+ content_type_pk = ContentType.objects.get_for_model(City).pk
+ redirect_url = model_admin.get_view_on_site_url(self.c1)
+ self.assertEqual(
+ redirect_url,
+ reverse(
+ f"{customadmin.site.name}:view_on_site",
+ kwargs={
+ "content_type_id": content_type_pk,
+ "object_id": self.c1.pk,
+ },
+ ),
+ )
+
@override_settings(ROOT_URLCONF="admin_views.urls")
class InlineAdminViewOnSiteTest(TestCase):