Fixed #24488 -- Made create_default_site() use default pk of 1.

Fixed create_default_site() to use a default value in case
settings.SITE_ID isn't set; refs #23945.
This commit is contained in:
Marten Kenbeek 2015-03-15 23:54:20 +01:00 committed by Tim Graham
parent 388e79e9fc
commit 818182b514
2 changed files with 10 additions and 1 deletions

View File

@ -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. # can also crop up outside of tests - see #15346.
if verbosity >= 2: if verbosity >= 2:
print("Creating example.com Site object") 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, # We set an explicit pk instead of relying on auto-incrementation,
# so we need to reset the database sequence. See #17415. # so we need to reset the database sequence. See #17415.

View File

@ -209,6 +209,15 @@ class CreateDefaultSiteTests(TestCase):
create_default_site(self.app_config, verbosity=0) create_default_site(self.app_config, verbosity=0)
self.assertEqual(Site.objects.get().pk, 35696) 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): class MiddlewareTest(TestCase):