mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	[2.1.x] Fixed #29469 -- Added a helpful makemigrations error if app_label contains dots.
Backport of 78972af367 from master
			
			
This commit is contained in:
		| @@ -73,6 +73,14 @@ class Command(BaseCommand): | |||||||
|                 bad_app_labels.add(app_label) |                 bad_app_labels.add(app_label) | ||||||
|         if bad_app_labels: |         if bad_app_labels: | ||||||
|             for app_label in bad_app_labels: |             for app_label in bad_app_labels: | ||||||
|  |                 if '.' in app_label: | ||||||
|  |                     self.stderr.write( | ||||||
|  |                         "'%s' is not a valid app label. Did you mean '%s'?" % ( | ||||||
|  |                             app_label, | ||||||
|  |                             app_label.split('.')[-1], | ||||||
|  |                         ) | ||||||
|  |                     ) | ||||||
|  |                 else: | ||||||
|                     self.stderr.write("App '%s' could not be found. Is it in INSTALLED_APPS?" % app_label) |                     self.stderr.write("App '%s' could not be found. Is it in INSTALLED_APPS?" % app_label) | ||||||
|             sys.exit(2) |             sys.exit(2) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -786,6 +786,12 @@ class MakeMigrationsTests(MigrationTestBase): | |||||||
|             call_command("makemigrations", "this_app_does_not_exist", stderr=err) |             call_command("makemigrations", "this_app_does_not_exist", stderr=err) | ||||||
|         self.assertIn("'this_app_does_not_exist' could not be found.", err.getvalue()) |         self.assertIn("'this_app_does_not_exist' could not be found.", err.getvalue()) | ||||||
|  |  | ||||||
|  |     def test_makemigrations_app_name_with_dots(self): | ||||||
|  |         err = io.StringIO() | ||||||
|  |         with self.assertRaises(SystemExit): | ||||||
|  |             call_command('makemigrations', 'invalid.app.label', stderr=err) | ||||||
|  |         self.assertIn("'invalid.app.label' is not a valid app label. Did you mean 'label'?", err.getvalue()) | ||||||
|  |  | ||||||
|     def test_makemigrations_empty_no_app_specified(self): |     def test_makemigrations_empty_no_app_specified(self): | ||||||
|         """ |         """ | ||||||
|         makemigrations exits if no app is specified with 'empty' mode. |         makemigrations exits if no app is specified with 'empty' mode. | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user