mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #23101 db_table wasn't copied in deconstruct
Forward port of 999758fc7a from
stable/1.7.x
			
			
This commit is contained in:
		
				
					committed by
					
						
						Andrew Godwin
					
				
			
			
				
	
			
			
			
						parent
						
							805774df1f
						
					
				
				
					commit
					e1347e9253
				
			@@ -2138,6 +2138,8 @@ class ManyToManyField(RelatedField):
 | 
			
		||||
    def deconstruct(self):
 | 
			
		||||
        name, path, args, kwargs = super(ManyToManyField, self).deconstruct()
 | 
			
		||||
        # Handle the simpler arguments
 | 
			
		||||
        if self.db_table is not None:
 | 
			
		||||
            kwargs['db_table'] = self.db_table
 | 
			
		||||
        if self.rel.db_constraint is not True:
 | 
			
		||||
            kwargs['db_constraint'] = self.rel.db_constraint
 | 
			
		||||
        if "help_text" in kwargs:
 | 
			
		||||
 
 | 
			
		||||
@@ -271,6 +271,12 @@ class FieldDeconstructionTests(TestCase):
 | 
			
		||||
        self.assertEqual(path, "django.db.models.ManyToManyField")
 | 
			
		||||
        self.assertEqual(args, [])
 | 
			
		||||
        self.assertEqual(kwargs, {"to": "auth.Permission", "through": "auth.Group"})
 | 
			
		||||
        # Test custom db_table
 | 
			
		||||
        field = models.ManyToManyField("auth.Permission", db_table="custom_table")
 | 
			
		||||
        name, path, args, kwargs = field.deconstruct()
 | 
			
		||||
        self.assertEqual(path, "django.db.models.ManyToManyField")
 | 
			
		||||
        self.assertEqual(args, [])
 | 
			
		||||
        self.assertEqual(kwargs, {"to": "auth.Permission", "db_table": "custom_table"})
 | 
			
		||||
 | 
			
		||||
    @override_settings(AUTH_USER_MODEL="auth.Permission")
 | 
			
		||||
    def test_many_to_many_field_swapped(self):
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user