MCPcopy
hub / github.com/django/django / _test_add_generated_field

Method _test_add_generated_field

tests/migrations/test_operations.py:6600–6623  ·  view source on GitHub ↗
(self, db_persist)

Source from the content-addressed store, hash-verified

6598 self.apply_operations(app_label, project_state, operations)
6599
6600 def _test_add_generated_field(self, db_persist):
6601 app_label = "test_agf"
6602 operation = migrations.AddField(
6603 "Pony",
6604 "modified_pink",
6605 models.GeneratedField(
6606 expression=F("pink") + F("pink"),
6607 output_field=models.IntegerField(),
6608 db_persist=db_persist,
6609 ),
6610 )
6611 project_state, new_state = self.make_test_state(app_label, operation)
6612 self.assertEqual(len(new_state.models[app_label, "pony"].fields), 6)
6613 # Add generated column.
6614 with connection.schema_editor() as editor:
6615 operation.database_forwards(app_label, editor, project_state, new_state)
6616 self.assertColumnExists(f"{app_label}_pony", "modified_pink")
6617 Pony = new_state.apps.get_model(app_label, "Pony")
6618 obj = Pony.objects.create(pink=5, weight=3.23)
6619 self.assertEqual(obj.modified_pink, 10)
6620 # Reversal.
6621 with connection.schema_editor() as editor:
6622 operation.database_backwards(app_label, editor, new_state, project_state)
6623 self.assertColumnNotExists(f"{app_label}_pony", "modified_pink")
6624
6625 @skipUnlessDBFeature(
6626 "supports_stored_generated_columns", "supports_alter_generated_column_data_type"

Calls 9

database_forwardsMethod · 0.95
database_backwardsMethod · 0.95
FClass · 0.90
make_test_stateMethod · 0.80
schema_editorMethod · 0.80
assertColumnExistsMethod · 0.45
get_modelMethod · 0.45
createMethod · 0.45
assertColumnNotExistsMethod · 0.45

Tested by

no test coverage detected