summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2015-01-15 09:56:07 -0500
committerTim Graham <timograham@gmail.com>2015-01-15 20:43:49 -0500
commit065b2a82f6d7539032e15308351fa5eee95c0cb9 (patch)
tree386e4267c13778afe8de8d4ee340aa4af62cf0fc /tests
parentb419bd38431b83eec93376cd911e2b17eb8e7342 (diff)
[1.7.x] Fixed #24135 -- Made RenameModel rename many-to-many tables.
Thanks Simon and Markus for reviews. Backport of 28db4af80a319485c0da724d692e2f8396aa57e3 from master
Diffstat (limited to 'tests')
-rw-r--r--tests/migrations/test_operations.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/migrations/test_operations.py b/tests/migrations/test_operations.py
index 435a3f2668..06a22d0f37 100644
--- a/tests/migrations/test_operations.py
+++ b/tests/migrations/test_operations.py
@@ -498,6 +498,32 @@ class OperationTests(OperationTestBase):
pony = Pony.objects.create()
pony.ponies.add(pony)
+ def test_rename_model_with_m2m(self):
+ app_label = "test_rename_model_with_m2m"
+ project_state = self.apply_operations(app_label, ProjectState(), operations=[
+ migrations.CreateModel("Rider", fields=[]),
+ migrations.CreateModel("Pony", fields=[
+ ("riders", models.ManyToManyField("Rider")),
+ ]),
+ ])
+ Pony = project_state.apps.get_model(app_label, "Pony")
+ Rider = project_state.apps.get_model(app_label, "Rider")
+ pony = Pony.objects.create()
+ rider = Rider.objects.create()
+ pony.riders.add(rider)
+
+ project_state = self.apply_operations(app_label, project_state, operations=[
+ migrations.RenameModel("Pony", "Pony2"),
+ ])
+ Pony = project_state.apps.get_model(app_label, "Pony2")
+ Rider = project_state.apps.get_model(app_label, "Rider")
+ pony = Pony.objects.create()
+ rider = Rider.objects.create()
+ pony.riders.add(rider)
+ self.assertEqual(Pony.objects.count(), 2)
+ self.assertEqual(Rider.objects.count(), 2)
+ self.assertEqual(Pony._meta.get_field('riders').rel.through.objects.count(), 2)
+
def test_add_field(self):
"""
Tests the AddField operation.