diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/migrations/test_operations.py | 26 |
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. |
