summaryrefslogtreecommitdiff
path: root/tests/migrations/test_operations.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/migrations/test_operations.py')
-rw-r--r--tests/migrations/test_operations.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/migrations/test_operations.py b/tests/migrations/test_operations.py
index d4fc3e855a..01197d5fc8 100644
--- a/tests/migrations/test_operations.py
+++ b/tests/migrations/test_operations.py
@@ -2306,6 +2306,52 @@ class OperationTests(OperationTestBase):
operation.database_forwards(app_label, editor, new_state, project_state)
self.assertColumnExists(rider_table, "pony_id")
+ def test_alter_field_foreignobject_noop(self):
+ app_label = "test_alflfo_noop"
+ project_state = self.set_up_test_model(app_label)
+ project_state = self.apply_operations(
+ app_label,
+ project_state,
+ [
+ migrations.CreateModel(
+ "Rider",
+ fields=[
+ ("pony_id", models.IntegerField()),
+ (
+ "pony",
+ models.ForeignObject(
+ f"{app_label}.Pony",
+ models.CASCADE,
+ from_fields=("pony_id",),
+ to_fields=("id",),
+ ),
+ ),
+ ],
+ ),
+ ],
+ )
+ operation = migrations.AlterField(
+ "Rider",
+ "pony",
+ models.ForeignObject(
+ f"{app_label}.Pony",
+ models.CASCADE,
+ from_fields=("pony_id",),
+ to_fields=("id",),
+ null=True,
+ ),
+ )
+ new_state = project_state.clone()
+ operation.state_forwards(app_label, new_state)
+ with (
+ CaptureQueriesContext(connection) as ctx,
+ connection.schema_editor() as editor,
+ ):
+ operation.database_forwards(app_label, editor, project_state, new_state)
+ self.assertIs(
+ any("ALTER" in query["sql"] for query in ctx.captured_queries), False
+ )
+
@skipUnlessDBFeature("supports_comments")
def test_alter_model_table_comment(self):
app_label = "test_almotaco"