MCPcopy
hub / github.com/django/django / test_alter_generated_field

Method test_alter_generated_field

tests/schema/tests.py:1032–1061  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

1030 @isolate_apps("schema")
1031 @skipUnlessDBFeature("supports_stored_generated_columns")
1032 def test_alter_generated_field(self):
1033 class GeneratedFieldIndexedModel(Model):
1034 number = IntegerField(default=1)
1035 generated = GeneratedField(
1036 expression=F("number") + 1,
1037 db_persist=True,
1038 output_field=IntegerField(),
1039 )
1040
1041 class Meta:
1042 app_label = "schema"
1043
1044 with connection.schema_editor() as editor:
1045 editor.create_model(GeneratedFieldIndexedModel)
1046
1047 old_field = GeneratedFieldIndexedModel._meta.get_field("generated")
1048 new_field = GeneratedField(
1049 expression=F("number") + 1,
1050 db_persist=True,
1051 db_index=True,
1052 output_field=IntegerField(),
1053 )
1054 new_field.contribute_to_class(GeneratedFieldIndexedModel, "generated")
1055
1056 with connection.schema_editor() as editor:
1057 editor.alter_field(GeneratedFieldIndexedModel, old_field, new_field)
1058
1059 self.assertIn(
1060 "generated", self.get_indexes(GeneratedFieldIndexedModel._meta.db_table)
1061 )
1062
1063 @isolate_apps("schema")
1064 def test_add_auto_field(self):

Callers

nothing calls this directly

Calls 9

contribute_to_classMethod · 0.95
get_indexesMethod · 0.95
GeneratedFieldClass · 0.90
FClass · 0.90
IntegerFieldClass · 0.90
schema_editorMethod · 0.80
create_modelMethod · 0.45
get_fieldMethod · 0.45
alter_fieldMethod · 0.45

Tested by

no test coverage detected