diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2023-12-12 05:39:11 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-12 05:39:11 +0100 |
| commit | fcf95e592774a6ededec35481a2061474d467a2b (patch) | |
| tree | a29be963a35061170cb18d18bcd68dc194fe5728 /tests/schema | |
| parent | b287af5dc954628d4b336aefc5027b2edceee64b (diff) | |
Fixed #35018 -- Fixed migrations crash on GeneratedField with BooleanField as output_field on Oracle < 23c.
Thanks Václav Řehák for the report.
Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.
Diffstat (limited to 'tests/schema')
| -rw-r--r-- | tests/schema/tests.py | 21 |
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): |
