Kaydet (Commit) 6b39010d authored tarafından Andrew Godwin's avatar Andrew Godwin

Remove nasty error message checking hack

üst 88e1e6f9
...@@ -12,6 +12,7 @@ from django.db.migrations.executor import MigrationExecutor ...@@ -12,6 +12,7 @@ from django.db.migrations.executor import MigrationExecutor
from django.db.migrations.loader import AmbiguityError from django.db.migrations.loader import AmbiguityError
from django.utils.datastructures import SortedDict from django.utils.datastructures import SortedDict
from django.utils.importlib import import_module from django.utils.importlib import import_module
from django.utils.module_loading import module_has_submodule, import_by_path
class Command(BaseCommand): class Command(BaseCommand):
...@@ -40,21 +41,8 @@ class Command(BaseCommand): ...@@ -40,21 +41,8 @@ class Command(BaseCommand):
# Import the 'management' module within each installed app, to register # Import the 'management' module within each installed app, to register
# dispatcher events. # dispatcher events.
for app_name in settings.INSTALLED_APPS: for app_name in settings.INSTALLED_APPS:
try: if module_has_submodule(import_module(app_name), "management"):
import_module('.management', app_name) 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 # Get the database we're operating from
db = options.get('database') db = options.get('database')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment