(self)
| 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): |
nothing calls this directly
no test coverage detected