Fixed #23101 db_table wasn't copied in deconstruct
Forward port of 999758fc7a
from
stable/1.7.x
This commit is contained in:
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):
|
||||
|
|
Loading…
Reference in New Issue