mirror of
https://github.com/django/django.git
synced 2025-08-16 00:30:47 +00:00
[5.0.x] Fixed #35018 -- Fixed migrations crash on GeneratedField with BooleanField as output_field on Oracle < 23c.
Thanks Václav Řehák for the report. Regression inf333e3513e
. Backport offcf95e5927
from main.
This commit is contained in:
parent
03af8fbd0f
commit
5f89da0837
8 changed files with 75 additions and 18 deletions
|
@ -852,6 +852,27 @@ class SchemaTests(TransactionTestCase):
|
|||
False,
|
||||
)
|
||||
|
||||
@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):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue