Moved the AUTH_USER_MODEL setting changed receiver.
Test suites besides Django's may need the same behavior.
This commit is contained in:
parent
b9ae662c97
commit
7694e196ce
|
@ -3,6 +3,7 @@ import threading
|
||||||
import time
|
import time
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
|
from django.apps import apps
|
||||||
from django.core.signals import setting_changed
|
from django.core.signals import setting_changed
|
||||||
from django.db import connections, router
|
from django.db import connections, router
|
||||||
from django.db.utils import ConnectionRouter
|
from django.db.utils import ConnectionRouter
|
||||||
|
@ -168,3 +169,9 @@ def auth_password_validators_changed(**kwargs):
|
||||||
if kwargs['setting'] == 'AUTH_PASSWORD_VALIDATORS':
|
if kwargs['setting'] == 'AUTH_PASSWORD_VALIDATORS':
|
||||||
from django.contrib.auth.password_validation import get_default_password_validators
|
from django.contrib.auth.password_validation import get_default_password_validators
|
||||||
get_default_password_validators.cache_clear()
|
get_default_password_validators.cache_clear()
|
||||||
|
|
||||||
|
|
||||||
|
@receiver(setting_changed)
|
||||||
|
def user_model_swapped(**kwargs):
|
||||||
|
if kwargs['setting'] == 'AUTH_USER_MODEL':
|
||||||
|
apps.clear_cache()
|
||||||
|
|
|
@ -3,25 +3,16 @@ from __future__ import unicode_literals
|
||||||
|
|
||||||
import warnings
|
import warnings
|
||||||
|
|
||||||
from django.apps import apps
|
|
||||||
from django.contrib.auth import get_user_model
|
from django.contrib.auth import get_user_model
|
||||||
from django.contrib.auth.models import AnonymousUser, User
|
from django.contrib.auth.models import AnonymousUser, User
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.db import IntegrityError
|
from django.db import IntegrityError
|
||||||
from django.dispatch import receiver
|
|
||||||
from django.test import TestCase, override_settings
|
from django.test import TestCase, override_settings
|
||||||
from django.test.signals import setting_changed
|
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
|
|
||||||
from .models import CustomUser
|
from .models import CustomUser
|
||||||
|
|
||||||
|
|
||||||
@receiver(setting_changed)
|
|
||||||
def user_model_swapped(**kwargs):
|
|
||||||
if kwargs['setting'] == 'AUTH_USER_MODEL':
|
|
||||||
apps.clear_cache()
|
|
||||||
|
|
||||||
|
|
||||||
class BasicTestCase(TestCase):
|
class BasicTestCase(TestCase):
|
||||||
def test_user(self):
|
def test_user(self):
|
||||||
"Check that users can be created and can set their password"
|
"Check that users can be created and can set their password"
|
||||||
|
|
Loading…
Reference in New Issue