summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/contrib/sites/management.py2
-rw-r--r--tests/sites_tests/tests.py9
2 files changed, 10 insertions, 1 deletions
diff --git a/django/contrib/sites/management.py b/django/contrib/sites/management.py
index 5647b6a304..1f403075b8 100644
--- a/django/contrib/sites/management.py
+++ b/django/contrib/sites/management.py
@@ -25,7 +25,7 @@ def create_default_site(app_config, verbosity=2, interactive=True, using=DEFAULT
# can also crop up outside of tests - see #15346.
if verbosity >= 2:
print("Creating example.com Site object")
- Site(pk=settings.SITE_ID, domain="example.com", name="example.com").save(using=using)
+ Site(pk=getattr(settings, 'SITE_ID', 1), domain="example.com", name="example.com").save(using=using)
# We set an explicit pk instead of relying on auto-incrementation,
# so we need to reset the database sequence. See #17415.
diff --git a/tests/sites_tests/tests.py b/tests/sites_tests/tests.py
index 9b409fd0b5..128420a17b 100644
--- a/tests/sites_tests/tests.py
+++ b/tests/sites_tests/tests.py
@@ -209,6 +209,15 @@ class CreateDefaultSiteTests(TestCase):
create_default_site(self.app_config, verbosity=0)
self.assertEqual(Site.objects.get().pk, 35696)
+ @override_settings() # Restore original ``SITE_ID`` afterwards.
+ def test_no_site_id(self):
+ """
+ #24488 - The pk should default to 1 if no ``SITE_ID`` is configured.
+ """
+ del settings.SITE_ID
+ create_default_site(self.app_config, verbosity=0)
+ self.assertEqual(Site.objects.get().pk, 1)
+
class MiddlewareTest(TestCase):