浏览代码

Django: Use new system check framework. Closes #3439

Ask Solem 8 年之前
父节点
当前提交
fff12f08af
共有 1 个文件被更改,包括 12 次插入7 次删除
  1. 12 7
      celery/fixups/django.py

+ 12 - 7
celery/fixups/django.py

@@ -121,13 +121,18 @@ class DjangoWorkerFixup(object):
 
 
     def validate_models(self):
     def validate_models(self):
         self.django_setup()
         self.django_setup()
-        from django.core.management.validation import get_validation_errors
-        s = StringIO()
-        num_errors = get_validation_errors(s, None)
-        if num_errors:
-            raise RuntimeError(
-                'One or more Django models did not validate:\n{0}'.format(
-                    s.getvalue()))
+        try:
+            from django.core.checks import run_checks
+        except ImportError:  # django < 1.7
+            from django.core.management.validation import get_validation_errors
+            s = StringIO()
+            num_errors = get_validation_errors(s, None)
+            if num_errors:
+                raise RuntimeError(
+                    'One or more Django models did not validate:\n{0}'.format(
+                        s.getvalue()))
+        else:
+            run_checks()
 
 
     def install(self):
     def install(self):
         signals.beat_embedded_init.connect(self.close_database)
         signals.beat_embedded_init.connect(self.close_database)