summaryrefslogtreecommitdiff
path: root/tests/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'tests/migrations')
-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 7ff798f690..16d297afad 100644
--- a/tests/migrations/test_operations.py
+++ b/tests/migrations/test_operations.py
@@ -614,6 +614,32 @@ class OperationTests(OperationTestBase):
self.assertEqual(Rider.objects.count(), 2)
self.assertEqual(Pony._meta.get_field('riders').rel.through.objects.count(), 2)
+ def test_rename_m2m_target_model(self):
+ app_label = "test_rename_m2m_target_model"
+ 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("Rider", "Rider2"),
+ ])
+ Pony = project_state.apps.get_model(app_label, "Pony")
+ Rider = project_state.apps.get_model(app_label, "Rider2")
+ 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.