mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	[2.1.x] Fixed #29755 -- Made migrations detect changes to Meta.default_related_name.
Backport of a4495f4b98 from master
			
			
This commit is contained in:
		
				
					committed by
					
						 Tim Graham
						Tim Graham
					
				
			
			
				
	
			
			
			
						parent
						
							08ce2666da
						
					
				
				
					commit
					4c5a8c6f50
				
			| @@ -652,6 +652,7 @@ class AlterModelOptions(ModelOptionOperation): | |||||||
|     ALTER_OPTION_KEYS = [ |     ALTER_OPTION_KEYS = [ | ||||||
|         "base_manager_name", |         "base_manager_name", | ||||||
|         "default_manager_name", |         "default_manager_name", | ||||||
|  |         "default_related_name", | ||||||
|         "get_latest_by", |         "get_latest_by", | ||||||
|         "managed", |         "managed", | ||||||
|         "ordering", |         "ordering", | ||||||
|   | |||||||
| @@ -14,3 +14,6 @@ Bugfixes | |||||||
|  |  | ||||||
| * Fixed a regression where files starting with a tilde or underscore weren't | * Fixed a regression where files starting with a tilde or underscore weren't | ||||||
|   ignored by the migrations loader (:ticket:`29749`). |   ignored by the migrations loader (:ticket:`29749`). | ||||||
|  |  | ||||||
|  | * Made migrations detect changes to ``Meta.default_related_name`` | ||||||
|  |   (:ticket:`29755`). | ||||||
|   | |||||||
| @@ -2072,6 +2072,25 @@ class AutodetectorTests(TestCase): | |||||||
|         self.assertOperationAttributes(changes, 'thirdapp', 0, 0, name="CustomUser") |         self.assertOperationAttributes(changes, 'thirdapp', 0, 0, name="CustomUser") | ||||||
|         self.assertOperationAttributes(changes, 'thirdapp', 0, 1, name="Aardvark") |         self.assertOperationAttributes(changes, 'thirdapp', 0, 1, name="Aardvark") | ||||||
|  |  | ||||||
|  |     def test_default_related_name_option(self): | ||||||
|  |         model_state = ModelState('app', 'model', [ | ||||||
|  |             ('id', models.AutoField(primary_key=True)), | ||||||
|  |         ], options={'default_related_name': 'related_name'}) | ||||||
|  |         changes = self.get_changes([], [model_state]) | ||||||
|  |         self.assertNumberMigrations(changes, 'app', 1) | ||||||
|  |         self.assertOperationTypes(changes, 'app', 0, ['CreateModel']) | ||||||
|  |         self.assertOperationAttributes( | ||||||
|  |             changes, 'app', 0, 0, name='model', | ||||||
|  |             options={'default_related_name': 'related_name'}, | ||||||
|  |         ) | ||||||
|  |         altered_model_state = ModelState('app', 'Model', [ | ||||||
|  |             ('id', models.AutoField(primary_key=True)), | ||||||
|  |         ]) | ||||||
|  |         changes = self.get_changes([model_state], [altered_model_state]) | ||||||
|  |         self.assertNumberMigrations(changes, 'app', 1) | ||||||
|  |         self.assertOperationTypes(changes, 'app', 0, ['AlterModelOptions']) | ||||||
|  |         self.assertOperationAttributes(changes, 'app', 0, 0, name='model', options={}) | ||||||
|  |  | ||||||
|     @override_settings(AUTH_USER_MODEL="thirdapp.CustomUser") |     @override_settings(AUTH_USER_MODEL="thirdapp.CustomUser") | ||||||
|     def test_swappable_first_setting(self): |     def test_swappable_first_setting(self): | ||||||
|         """Swappable models get their CreateModel first.""" |         """Swappable models get their CreateModel first.""" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user