Loading django/core/management/commands/migrate.py +2 −14 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ from django.db.migrations.executor import MigrationExecutor from django.db.migrations.loader import AmbiguityError from django.utils.datastructures import SortedDict from django.utils.importlib import import_module from django.utils.module_loading import module_has_submodule, import_by_path class Command(BaseCommand): Loading Loading @@ -40,21 +41,8 @@ class Command(BaseCommand): # Import the 'management' module within each installed app, to register # dispatcher events. for app_name in settings.INSTALLED_APPS: try: if module_has_submodule(import_module(app_name), "management"): import_module('.management', app_name) except ImportError as exc: # This is slightly hackish. We want to ignore ImportErrors # if the "management" module itself is missing -- but we don't # want to ignore the exception if the management module exists # but raises an ImportError for some reason. The only way we # can do this is to check the text of the exception. Note that # we're a bit broad in how we check the text, because different # Python implementations may not use the same text. # CPython uses the text "No module named management" # PyPy uses "No module named myproject.myapp.management" msg = exc.args[0] if not msg.startswith('No module named') or 'management' not in msg: raise # Get the database we're operating from db = options.get('database') Loading Loading
django/core/management/commands/migrate.py +2 −14 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ from django.db.migrations.executor import MigrationExecutor from django.db.migrations.loader import AmbiguityError from django.utils.datastructures import SortedDict from django.utils.importlib import import_module from django.utils.module_loading import module_has_submodule, import_by_path class Command(BaseCommand): Loading Loading @@ -40,21 +41,8 @@ class Command(BaseCommand): # Import the 'management' module within each installed app, to register # dispatcher events. for app_name in settings.INSTALLED_APPS: try: if module_has_submodule(import_module(app_name), "management"): import_module('.management', app_name) except ImportError as exc: # This is slightly hackish. We want to ignore ImportErrors # if the "management" module itself is missing -- but we don't # want to ignore the exception if the management module exists # but raises an ImportError for some reason. The only way we # can do this is to check the text of the exception. Note that # we're a bit broad in how we check the text, because different # Python implementations may not use the same text. # CPython uses the text "No module named management" # PyPy uses "No module named myproject.myapp.management" msg = exc.args[0] if not msg.startswith('No module named') or 'management' not in msg: raise # Get the database we're operating from db = options.get('database') Loading