Browse Source

Django: Use _state.default_app for None check (Issue #3482)

Ask Solem 8 years ago
parent
commit
28c1c8da37
2 changed files with 5 additions and 4 deletions
  1. 2 2
      celery/fixups/django.py
  2. 3 2
      t/unit/fixups/test_django.py

+ 2 - 2
celery/fixups/django.py

@@ -11,8 +11,8 @@ from kombu.utils.objects import cached_property
 from datetime import datetime
 from importlib import import_module
 
+from celery import _state
 from celery import signals
-from celery.app import default_app
 from celery.exceptions import FixupWarning
 
 __all__ = ['DjangoFixup', 'fixup']
@@ -46,7 +46,7 @@ class DjangoFixup(object):
 
     def __init__(self, app):
         self.app = app
-        if default_app is None:
+        if _state.default_app is None:
             self.app.set_default()
         self._worker_fixup = None
 

+ 3 - 2
t/unit/fixups/test_django.py

@@ -31,14 +31,15 @@ class test_DjangoFixup(FixupCase):
     Fixup = DjangoFixup
 
     def test_setting_default_app(self):
+        from celery import _state
         from celery.fixups import django
-        prev, django.default_app = django.default_app, None
+        prev, _state.default_app = _state.default_app, None
         try:
             app = Mock(name='app')
             DjangoFixup(app)
             app.set_default.assert_called_with()
         finally:
-            django.default_app = prev
+            _state.default_app = prev
 
     @patch('celery.fixups.django.DjangoWorkerFixup')
     def test_worker_fixup_property(self, DjangoWorkerFixup):