diff options
| author | Stefan Wehrmeyer <mail@stefanwehrmeyer.com> | 2022-03-18 13:37:16 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-03-21 10:07:32 +0100 |
| commit | 561761c6606cd0e8bafb5e86c487871deb6e04e1 (patch) | |
| tree | 088831565911a6b0867185b4ba9fcbc9d1aca8a2 | |
| parent | b07ee98b27e58992fdc10fec0ec67e68ae1d272d (diff) | |
| download | django-561761c6606cd0e8bafb5e86c487871deb6e04e1.tar.gz | |
Fixed #33592 -- Fixed "View on Site" links in custom admin site.
| -rw-r--r-- | django/contrib/admin/options.py | 1 | ||||
| -rw-r--r-- | tests/admin_views/tests.py | 15 |
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): |
