From 6b172a6d6dcfe88be4dc0e5052707a756c1c830c Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Tue, 31 Dec 2013 13:09:47 +0100 Subject: [PATCH] Called django.setup() explicitly in management commands. This avoids duplicating code. --- django/core/management/__init__.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/django/core/management/__init__.py b/django/core/management/__init__.py index 2a4fd96fc7..fcd7c7ccd8 100644 --- a/django/core/management/__init__.py +++ b/django/core/management/__init__.py @@ -5,6 +5,7 @@ from optparse import OptionParser, NO_DEFAULT import os import sys +import django from django.conf import settings from django.core.exceptions import ImproperlyConfigured from django.core.management.base import BaseCommand, CommandError, handle_default_options @@ -111,17 +112,16 @@ def get_commands(): # Find the installed apps try: - installed_apps = settings.INSTALLED_APPS + settings.INSTALLED_APPS except ImproperlyConfigured: # Still useful for commands that do not require functional # settings, like startproject or help. app_names = [] else: - # Populate the app registry outside of the try/except block to - # avoid catching ImproperlyConfigured errors that aren't caused - # by the absence of a settings module. - from django.apps import apps - apps.populate(installed_apps) + # Setup Django outside of the try/except block to avoid catching + # ImproperlyConfigured errors that aren't caused by the absence of + # a settings module. + django.setup() app_configs = apps.get_app_configs() app_names = [app_config.name for app_config in app_configs]