Fixed #22577: Python 3 broke on non-module migrations directory

This commit is contained in:
Víðir Valberg Guðmundsson 2014-06-17 17:50:31 +02:00
parent 61d7ae31cf
commit 3a6cb9f497
3 changed files with 7 additions and 0 deletions

View File

@ -158,6 +158,12 @@ class MigrationWriter(object):
# See if we can import the migrations module directly
try:
migrations_module = import_module(migrations_package_name)
# Python 3 fails when the migrations directory does not have a
# __init__.py file
if not hasattr(migrations_module, '__file__'):
raise ImportError
basedir = os.path.dirname(migrations_module.__file__)
except ImportError:
app_config = apps.get_app_config(self.migration.app_label)

View File

@ -215,6 +215,7 @@ class WriterTests(TestCase):
test_apps = [
'migrations.migrations_test_apps.normal',
'migrations.migrations_test_apps.with_package_model',
'migrations.migrations_test_apps.without_init_file',
]
base_dir = os.path.dirname(os.path.dirname(__file__))