summaryrefslogtreecommitdiff
path: root/tests/schema
diff options
context:
space:
mode:
Diffstat (limited to 'tests/schema')
-rw-r--r--tests/schema/tests.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/schema/tests.py b/tests/schema/tests.py
index d44b8e25aa..c4e61976f1 100644
--- a/tests/schema/tests.py
+++ b/tests/schema/tests.py
@@ -847,6 +847,27 @@ class SchemaTests(TransactionTestCase):
)
@isolate_apps("schema")
+ @skipUnlessDBFeature("supports_virtual_generated_columns")
+ def test_add_generated_boolean_field(self):
+ class GeneratedBooleanFieldModel(Model):
+ value = IntegerField(null=True)
+ has_value = GeneratedField(
+ expression=Q(value__isnull=False),
+ output_field=BooleanField(),
+ db_persist=False,
+ )
+
+ class Meta:
+ app_label = "schema"
+
+ with connection.schema_editor() as editor:
+ editor.create_model(GeneratedBooleanFieldModel)
+ obj = GeneratedBooleanFieldModel.objects.create()
+ self.assertIs(obj.has_value, False)
+ obj = GeneratedBooleanFieldModel.objects.create(value=1)
+ self.assertIs(obj.has_value, True)
+
+ @isolate_apps("schema")
@skipUnlessDBFeature("supports_stored_generated_columns")
def test_add_generated_field(self):
class GeneratedFieldOutputFieldModel(Model):