mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	[1.7.x] Fixed #22577: Python 3 broke on non-module migrations directory
This commit is contained in:
		
				
					committed by
					
						 Andrew Godwin
						Andrew Godwin
					
				
			
			
				
	
			
			
			
						parent
						
							aa10f57d94
						
					
				
				
					commit
					7f0c207d1b
				
			| @@ -158,6 +158,12 @@ class MigrationWriter(object): | |||||||
|         # See if we can import the migrations module directly |         # See if we can import the migrations module directly | ||||||
|         try: |         try: | ||||||
|             migrations_module = import_module(migrations_package_name) |             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__) |             basedir = os.path.dirname(migrations_module.__file__) | ||||||
|         except ImportError: |         except ImportError: | ||||||
|             app_config = apps.get_app_config(self.migration.app_label) |             app_config = apps.get_app_config(self.migration.app_label) | ||||||
|   | |||||||
| @@ -215,6 +215,7 @@ class WriterTests(TestCase): | |||||||
|         test_apps = [ |         test_apps = [ | ||||||
|             'migrations.migrations_test_apps.normal', |             'migrations.migrations_test_apps.normal', | ||||||
|             'migrations.migrations_test_apps.with_package_model', |             'migrations.migrations_test_apps.with_package_model', | ||||||
|  |             'migrations.migrations_test_apps.without_init_file', | ||||||
|         ] |         ] | ||||||
|  |  | ||||||
|         base_dir = os.path.dirname(os.path.dirname(__file__)) |         base_dir = os.path.dirname(os.path.dirname(__file__)) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user