MCPcopy
hub / github.com/django/django / test_add_generated_field_contains

Method test_add_generated_field_contains

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

Source from the content-addressed store, hash-verified

997 @isolate_apps("schema")
998 @skipUnlessDBFeature("supports_stored_generated_columns")
999 def test_add_generated_field_contains(self):
1000 class GeneratedFieldContainsModel(Model):
1001 text = TextField(default="foo")
1002 generated = GeneratedField(
1003 expression=Concat("text", Value("%")),
1004 db_persist=True,
1005 output_field=TextField(),
1006 )
1007
1008 class Meta:
1009 app_label = "schema"
1010
1011 with connection.schema_editor() as editor:
1012 editor.create_model(GeneratedFieldContainsModel)
1013
1014 field = GeneratedField(
1015 expression=Q(text__contains="foo"),
1016 db_persist=True,
1017 output_field=BooleanField(),
1018 )
1019 field.contribute_to_class(GeneratedFieldContainsModel, "contains_foo")
1020
1021 with connection.schema_editor() as editor:
1022 editor.add_field(GeneratedFieldContainsModel, field)
1023
1024 obj = GeneratedFieldContainsModel.objects.create()
1025 obj.refresh_from_db()
1026 self.assertEqual(obj.text, "foo")
1027 self.assertEqual(obj.generated, "foo%")
1028 self.assertIs(obj.contains_foo, True)
1029
1030 @isolate_apps("schema")
1031 @skipUnlessDBFeature("supports_stored_generated_columns")

Callers

nothing calls this directly

Calls 9

contribute_to_classMethod · 0.95
GeneratedFieldClass · 0.90
QClass · 0.90
BooleanFieldClass · 0.90
schema_editorMethod · 0.80
create_modelMethod · 0.45
add_fieldMethod · 0.45
createMethod · 0.45
refresh_from_dbMethod · 0.45

Tested by

no test coverage detected