mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
[1.8.x] Fixed #24332 -- Fixed contrib.sites create_default_site() when 'default' DATABASES is empty.
Backport of e8cf4f8abe from master
This commit is contained in:
@@ -17,7 +17,7 @@ def create_default_site(app_config, verbosity=2, interactive=True, using=DEFAULT
|
||||
if not router.allow_migrate(using, Site):
|
||||
return
|
||||
|
||||
if not Site.objects.exists():
|
||||
if not Site.objects.using(using).exists():
|
||||
# The default settings set SITE_ID = 1, and some tests in Django's test
|
||||
# suite rely on this value. However, if database sequences are reused
|
||||
# (e.g. in the test suite after flush/syncdb), it isn't guaranteed that
|
||||
|
||||
@@ -112,12 +112,13 @@ def clear_site_cache(sender, **kwargs):
|
||||
Clears the cache (if primed) each time a site is saved or deleted
|
||||
"""
|
||||
instance = kwargs['instance']
|
||||
using = kwargs['using']
|
||||
try:
|
||||
del SITE_CACHE[instance.pk]
|
||||
except KeyError:
|
||||
pass
|
||||
try:
|
||||
del SITE_CACHE[Site.objects.get(pk=instance.pk).domain]
|
||||
del SITE_CACHE[Site.objects.using(using).get(pk=instance.pk).domain]
|
||||
except (KeyError, Site.DoesNotExist):
|
||||
pass
|
||||
pre_save.connect(clear_site_cache, sender=Site)
|
||||
|
||||
Reference in New Issue
Block a user